1、环境搭建工作
- 数据库
create table users(
uid int(20) primary key not null,
uname varchar(30) not null,
upaw varchar(30) not null
)
insert into users (uid,uname,upaw) values(1,"zhangsan","123")
- maven依赖
<!-- mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.16</version>
</dependency>
<!-- junit -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.7.0</version>
</dependency>
<!-- mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>
- 目录结构
- 实体类
public class User {
private Integer uid;
private String uname;
private String upaw;
public User() {
}
public User(Integer uid, String uname, String upaw) {
this.uid = uid;
this.uname = uname;
this.upaw = upaw;
}
@Override
public String toString() {
return "User{" +
"uid=" + uid +
", uname='" + uname + '\'' +
", upaw='" + upaw + '\'' +
'}';
}
public Integer getUid() {
return uid;
}
public void setUid(Integer uid) {
this.uid = uid;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public String getUpaw() {
return upaw;
}
public void setUpaw(String upaw) {
this.upaw = upaw;
}
}
2、配置mybatis-config文件
<?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核心配置文件-->
<configuration>
<!--environments所有环境 默认使用development-->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!--注册mapper文件-->
<mappers>
<mapper resource="com/hniu/dao/UserMapper.xml"/>
</mappers>
</configuration>
3、使用mybatis
使用方法:每一个dao层中mapper接口都有一个对应的xml文件执行数据库中的增删查改来实现mapper接口类中的方法
UserMapper:
public interface UseMapper {
//查询所有的用户对象
List<User> getUserList();
}
UserMapper.xml:
<select id="getUserList" resultType="com.hnui.pojo.User">
select * from mybatis.users;
</select>
- id:对应接口类的实现方法
- resultType:该方法的返回值类型
实现UserMapper接口:
//获取sqlsession对象
SqlSession sqlSession = MybatisUtils.getSqlSession();
//执行SQL语句
UseDao mapper = sqlSession.getMapper(UseDao.class);
List<User> userList = mapper.getUserList();
for (User user : userList) {
System.out.println(user);
}
//关闭流
sqlSession.close();
配置xml文件需要注意的地方:
- 一定需要在mybatis-config文件中注册
- xml文件尽量放在resources文件夹下,因为Maven会资源过滤不加载xml文件
- 在没有取别名的情况下,类必须全名