当前位置: 首页 > news >正文

备案用网站建设方案书新手20种引流推广方法

备案用网站建设方案书,新手20种引流推广方法,浩森宇特北京网站建设,wordpress雪人主题Mybatis的官方文档是真的非常好!非常好! 点一下我呗:Mybatis官方文档 MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可…

Mybatis的官方文档是真的非常好!非常好!
点一下我呗:Mybatis官方文档
MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

持久层:

  • 负责将数据到保存到数据库的那一层代码。

    以后开发我们会将操作数据库的Java代码作为持久层。而Mybatis就是对jdbc代码进行了封装。

  • JavaEE三层架构:表现层、业务层、持久层

快速入门示例

需求:查询user表中所有的数据

1,创建user表,添加数据

create database mybatis;
use mybatis;drop table if exists tb_user;create table tb_user(id int primary key auto_increment,username varchar(20),password varchar(20),gender char(1),addr varchar(30)
);INSERT INTO tb_user VALUES (1, 'zhangsan', '123', '男', '北京');
INSERT INTO tb_user VALUES (2, '李四', '234', '女', '天津');
INSERT INTO tb_user VALUES (3, '王五', '11', '男', '西安');select * from tb_user tu ;

2,创建模块,导入坐标

在创建好的模块中的 pom.xml 配置文件中添加依赖的坐标

    <properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></properties><dependencies><!--mybatis 依赖--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.5</version></dependency><!--mysql 驱动--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.46</version></dependency><!--junit 单元测试--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13</version><scope>test</scope></dependency><!-- 添加slf4j日志api --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.20</version></dependency><!-- 添加logback-classic依赖 --><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.2.3</version></dependency><!-- 添加logback-core依赖 --><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-core</artifactId><version>1.2.3</version></dependency></dependencies>

3,需要在项目的 resources 目录下创建logback的配置文件

<?xml version="1.0" encoding="UTF-8"?>
<configuration><!--CONSOLE :表示当前的日志信息是可以输出到控制台的。--><appender name="Console" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>[%level]  %cyan([%thread]) %boldGreen(%logger{15}) - %msg %n</pattern></encoder></appender><logger name="com.itheima" level="DEBUG" additivity="false"><appender-ref ref="Console"/></logger><!--level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF, 默认debug<root>可以包含零个或多个<appender-ref>元素,标识这个输出位置将会被本日志级别控制。--><root level="DEBUG"><appender-ref ref="Console"/></root>
</configuration>

4,编写 MyBatis 核心配置文件

在模块下的 resources 目录下创建mybatis的配置文件 mybatis-config.xml

<configuration><typeAliases><package name="com.itheima.pojo"/></typeAliases><!--environments:配置数据库连接环境信息。可以配置多个environment,通过default属性切换不同的environment--><environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><!--数据库连接信息--><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql:///mybatis?useSSL=false"/><property name="username" value="root"/><property name="password" value="fage"/></dataSource></environment><environment id="test"><transactionManager type="JDBC"/><dataSource type="POOLED"><!--数据库连接信息--><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql:///mybatis?useSSL=false"/><property name="username" value="root"/><property name="password" value="fage"/></dataSource></environment></environments><mappers><!--加载sql映射文件--><mapper resource="com/itheima/mapper/UserMapper.xml"/><!--Mapper代理方式--><!--<package name="com.itheima.mapper"/>--></mappers></configuration>
  • 在核心配置文件的 environments 标签中其实是可以配置多个 environment ,使用 id 给每段环境起名,在 environments 中使用 default='环境id' 来指定使用哪儿段配置。我们一般就配置一个 environment 即可。
  • typeAliases:在核心配置文件中配置类型别名typeAliases,也就意味着给pojo包下所有的类起了别名(别名就是类名),不区分大小写
  • mappers:如果Mapper接口名称和SQL映射文件名称相同,并在同一目录下,则可以使用包扫描的方式简化SQL映射文件的加载,但是推荐第二种方式

5,编写 SQL 映射文件 --> 统一管理sql语句,解决硬编码问题

在模块的 resources 目录下创建映射配置文件 UserMapper.xml

<!--namespace:名称空间
--><mapper namespace="com.itheima.mapper.UserMapper"><!--statement--><select id="selectAll" resultType="user">select *from tb_user;</select>
<!--    <select id="selectById" resultType="user">select *from tb_user where id = #{id};</select>--><select id="select" resultType="user">select *from tb_userwhereusername = #{arg0}and password = #{param2}</select></mapper>

6,在 com.itheima.pojo 包下创建 User类

public class User {private Integer id;private String username;private String password;private String gender;private String addr;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}public String getAddr() {return addr;}public void setAddr(String addr) {this.addr = addr;}@Overridepublic String toString() {return "User{" +"id=" + id +", username='" + username + '\'' +", password='" + password + '\'' +", gender='" + gender + '\'' +", addr='" + addr + '\'' +'}';}
}

7,在 com.itheima 包下编写 MybatisDemo 测试类

public class MyBatisDemo {public static void main(String[] args) throws IOException {//1. 加载mybatis的核心配置文件,获取 SqlSessionFactoryString resource = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);//2. 获取SqlSession对象,用它来执行sqlSqlSession sqlSession = sqlSessionFactory.openSession();//3. 执行sqlList<User> users = sqlSession.selectList("com.itheima.mapper.UserMapper.selectAll");//参数是一个字符串,该字符串必须是映射配置文件的namespace.idSystem.out.println(users);//4. 释放资源sqlSession.close();}
}

运行结果

在这里插入图片描述

查出来的数据与库里数据一致。

8,Mapper代理开发

上面的是采用加载sql映射文件的方式,它也存在硬编码的问题

List<User> users = sqlSession.selectList("com.itheima.mapper.UserMapper.selectAll");

这里调用 selectList() 方法传递的参数是映射配置文件中的 namespace.id值。这样写也不便于后期的维护。
如果使用 Mapper 代理方式(如下)则不存在硬编码问题:

//3.1 获取UserMapper接口的代理对象
List<User> users = UserMapper userMapper = sqlSession.getMapper(UserMapper.class);List<User> users = userMapper.selectAll();

运行后,发现结果正确

通过上面的描述可以看出 Mapper 代理方式的目的:

  • 解决原生方式中的硬编码
  • 简化后期执行SQL

Mybatis 官网也是推荐使用 Mapper 代理的方式

使用Mapper代理要求

使用Mapper代理方式,必须满足以下要求:

  • 定义与SQL映射文件同名的Mapper接口,并且将Mapper接口和SQL映射文件放置在同一目录下。如下图:
    在这里插入图片描述

  • 设置SQL映射文件的namespace属性为Mapper接口全限定名
    在这里插入图片描述

  • 在 Mapper 接口中定义方法,方法名就是SQL映射文件中sql语句的id,并保持参数类型和返回值类型一致
    在这里插入图片描述
    注意:

  • 如果Mapper接口名称和SQL映射文件名称相同,并在同一目录下,则可以使用包扫描的方式简化SQL映射文件的加载。也就是将核心配置文件的加载映射配置文件的配置修改为

<mappers><!--加载sql映射文件--><!-- <mapper resource="com/itheima/mapper/UserMapper.xml"/>--><!--Mapper代理方式--><package name="com.itheima.mapper"/>
</mappers>
  • 类型别名

在映射配置文件中的 resultType 属性需要配置数据封装的类型(类的全限定名)。而每次这样写是特别麻烦的,Mybatis 提供了 类型别名(typeAliases) 可以简化这部分的书写。

首先需要现在核心配置文件中配置类型别名,也就意味着给pojo包下所有的类起了别名(别名就是类名),不区分大小写。内容如下:

<typeAliases><!--name属性的值是实体类所在包--><package name="com.itheima.pojo"/> 
</typeAliases>

通过上述的配置,我们就可以简化映射配置文件中 resultType 属性值的编写

<mapper namespace="com.itheima.mapper.UserMapper"><select id="selectAll" resultType="user">select * from tb_user;</select>
</mapper>

[声明]:内容主要来源黑马程序员网上资源学习

http://www.dt0577.cn/news/52356.html

相关文章:

  • 腾讯云电商网站建设教育培训排行榜前十名
  • 做医药商城网站的公司吗今天《新闻联播》回放
  • 如何做输入密码进入网站自媒体平台哪个收益高
  • 网页源代码大全seo搜索引擎优化实训总结
  • 购物网站做推广b2b有哪些电商平台
  • 建设公司官网流程seo扣费系统
  • 宽屏网站模板企业源码建立网站的几个步骤
  • 微企点做的网站百度搜得到吗seo诊断工具有哪些
  • 重庆装修公司避坑指南自己怎么做网站优化
  • 大渡口网站建设网络营销推广及优化方案
  • 用discuz做行业网站网站关键词查询网址
  • 带网站的电话销售新人怎么找客户
  • 一流的邯郸网站建设做百度推广怎么做才能有电话
  • 南京做网站建设的公司排名公司网页制作模板
  • 门户网站优化报价简述网络营销的特点
  • 怎样免费建立网站百度关键词seo外包
  • 兼职做一篇微信的网站最新做做网站
  • 宁波正规网站建设方式郑州搜索引擎优化
  • 做服装外贸的网站设计网络推广优化方案
  • 网站服务器租用你的知识宝库今日头条新闻发布
  • 网站建设对于企业的必要性长沙市网站制作
  • 企业网站制作是什么seo网站内容优化有哪些
  • 计算机网络技术就业方向及前景东莞网络推广优化排名
  • 网站的主机选择网络营销推广平台
  • 网站设计联系电话国外网站推广公司
  • 电脑做科目一网站优化是什么意思
  • wordpress更换ssl证书成都seo优化公司
  • 个人网站有数量限制百度手机网页版入口
  • 温州网站建设免费服务株洲seo优化
  • 网站建设类公司排名百度关键词排名靠前