mybatis入门案例
1、准备工作
-
创建数据库表(数据库表自己准备)
-
创建项目导入mybatis和数据库驱动jar包
-
本例使用的maven项目,数据库是8.0及以上(数据库驱动包根据版本调整)
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency> -
2、创建与数据库表对应的实体类
-
属性名要和数据库表一样
package com.yl.bean;
import java.io.Serializable;
import java.sql.Date;
/**
* 用户实体类
*/
public class User implements Serializable {
private Integer id;//id
private String username;//用户名
private Date birthday;//生日
private String sex;//性别
private String address;//地址
public User() {
}
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 Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
3、创建持久层接口
package com.yl.dao;
import com.yl.bean.User;
import java.util.List;
/**
* 用户持久层接口
*/
public interface IUserDao {
/**
* 查询所有用户
*/
List<User> queryAllUser();
/**
* 添加用户
*/
void addUser(User user);
/**
* 修改用户
*/
void updateUser(User user);
/**
* 根据id删除用户
*/
void deleteUser(int id);
}
4、创建mybatis全局配置文件(SqlMapperConfig.xml)
-
配置文件放在资源目录下,如果不是maven工程就放在根目录下
<?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>
<!--配置mybatis环境-->
<environments default="mysql">
<!--配置mysql环境-->
<environment id="mysql">
<!--事务类型-->
<transactionManager type="JDBC"></transactionManager>
<!--数据源(连接池),根据数据库版本调整-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf8&serverTimezone=GMT%2B8"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!--指定映射配置文件位置,根据实际路径-->
<mappers>
<mapper resource="com/yl/dao/IUserDao.xml"></mapper>
</mappers>
</configuration>
5、创建持久层映射文件(IUserDao.xml)
-
配置文件放在资源目录下,如果不是maven工程就放在根目录下
package com.yl;
import static org.junit.Assert.assertTrue;
import com.yl.bean.User;
import com.yl.dao.IUserDao;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Date;
import java.util.List;
public class AppTest {
private InputStream inputStream;
private IUserDao userDao;
private SqlSession sqlSession;