MyBatis学习day1-准备测试用例框架搭建
MyBatis是什么?
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。
MyBatis是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
其实就是一个轻量级数据库操作的框架,简化传统的JDBC用的=.= 不多说了我™直接开始学习
注:使用IDE为IntelliJ IDEA
1.创建项目,导入jar包
新建项目(名字随便取的(*/ω\*))
创建lib文件夹放入jar包(方便移植其他设备)
在项目结构中设置依赖
2.创建测试用例、测试数据库、测试bean对象
新建测试数据库、创建两张测试表(随意加入一点数据)
导出为sql文件(下附链接,方便后期回顾)
链接: https://pan.baidu.com/s/1QajDb2rSQNy-GqF81p6DEA
提取码: uxg4
在项目的src下创建包com.mybaits.beans用于存放bean对象,这个包下的对象用于充当承载数据表中每条记录的载体,再在包下创建一个User对象用于承载接下来所要查询的user表中的记录(注释部分是复制sql文件中的内容,方便匹配字段)
在User类中创建与数据表字段相匹配的成员变量,并设置相应的get(),set()方法(成员变量的类型都必须用包装类)
package com.mybaits.beans;
import java.util.Date;
public class User {
/**
* CREATE TABLE `user` (
`u_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户id',
`u_username` varchar(64) NOT NULL COMMENT '用户名',
`u_password` varchar(64) DEFAULT NULL COMMENT '用户密码',
`u_sex` varchar(16) DEFAULT NULL COMMENT '用户性别',
`u_createTime` datetime DEFAULT NULL COMMENT '用户创建时间',
`u_cid` int(11) DEFAULT NULL COMMENT '用户国家id',
*/
private Integer u_id;
private String u_username;
private String u_password;
private String u_sex;
private Date u_createTime;
private Integer u_cid;
public Integer getU_id() {
return u_id;
}
public void setU_id(Integer u_id) {
this.u_id = u_id;
}
public String getU_username() {
return u_username;
}
public void setU_username(String u_username) {
this.u_username = u_username;
}
public String getU_password() {
return u_password;
}
public void setU_password(String u_password) {
this.u_password = u_password;
}
public String getU_sex() {
return u_sex;
}
public void setU_sex(String u_sex) {
this.u_sex = u_sex;
}
public Date getU_createTime() {
return u_createTime;
}
public void setU_createTime(Date u_createTime) {
this.u_createTime = u_createTime;
}
public Integer getU_cid() {
return u_cid;
}
public void setU_cid(Integer u_cid) {
this.u_cid = u_cid;
}
}
3.创建sqlMapConfig.xml主配置文件
XML 配置文件中包含了对 MyBatis 系统的核心设置,包括获取数据库连接实例的数据源(DataSource)以及决定事务作用域和控制方式的事务管理器(TransactionManager)–摘自mybaits官方博客
以下是主配置文件简单实例(最基本的内容):
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<!--使用JDBC事务类型-->
<transactionManager type="JDBC"/>
<!--使用连接池连接数据库-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/ssm_mybaits"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<!--配置映射器文件,下面会讲到-->
<mappers>
<mapper resource="org/mybatis/example/BlogMapper.xml"/>
</mappers>
</configuration>
4.创建Mapper.xml映射文件
既然 MyBatis 的行为已经由上述元素配置完了,我们现在就要来定义 SQL 映射语句了。 但首先,我们需要告诉 MyBatis 到哪里去找到这些语句,所以我们学会在主配置文件下的mappers标签中配置各种映射文件的路径,其方法有如几种
<!-- 使用相对于类路径的资源引用 -->
<mappers>
<mapper resource="org/mybatis/builder/AuthorMapper.xml"/>
<mapper resource="org/mybatis/builder/BlogMapper.xml"/>
<mapper resource="org/mybatis/builder/PostMapper.xml"/>
</mappers>
<!-- 使用完全限定资源定位符(URL) -->
<mappers>
<mapper url="file:///var/mappers/AuthorMapper.xml"/>
<mapper url="file:///var/mappers/BlogMapper.xml"/>
<mapper url="file:///var/mappers/PostMapper.xml"/>
</mappers>
<!-- 使用映射器接口实现类的完全限定类名 -->
<mappers>
<mapper class="org.mybatis.builder.AuthorMapper"/>
<mapper class="org.mybatis.builder.BlogMapper"/>
<mapper class="org.mybatis.builder.PostMapper"/>
</mappers>
–摘自mybaits官方博客
Mapper映射文件主要用于执行sql语句,但是与实现相同功能的JDBC代码相比,映射器的xml文件就显得十分简单,你会发现它省掉了将近95%的代码,MyBatis 致力于减少使用成本,让用户能更专注于 SQL 代码。
在src文件夹下创建Mapper包用来存放映射文件,创建的映射文件习惯与查询的表相对应,这里以user表为例,创建UserMapper.xml
在创建好的xml文件中我们先写入一下代码
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper>
</mapper>
在映射文件头部我们先声明了文件类型和约束(这个我们后面的学习过程中会讲到)与主配置文件相同,然后我们定义了一个mapper根标签,这就是我们以后写Sql语句的地方。
我们的映射器大概先就这样,接下来要做的就是在主配置文件中指定这些映射器。回到sqlMapConfig.xml文件,将mappers标签中的内容改为
<mappers>
<mapper resource="Mapper/UserMapper.xml"/>
</mappers>
先写到这吧,后面会讲解这些文件都有什么用 (~ ̄▽ ̄)~