新建Maven项目:
整体目录结构:
需要的驱动:
Mybatis驱动
Mysql数据库驱动
单元测试的junit驱动
lombok驱动
4.0.0 org.example untitled3 1.0-SNAPSHOT 8 8 org.mybatis mybatis 3.5.9 mysql mysql-connector-java 5.1.47 org.projectlombok lombok 1.18.22 junit junit 4.12 test junit junit 4.12 test
首先写下实体类
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private int id;
private String name;
private String password;
private int age;
private String address;
}
lombok驱动
常用的注解
- @Data :相当于get和set方法
- @Setter : 相当于set方法
- @Getter: 相当于get方法
- @AllArgsConstructor 相当于有参构造
- @NoArgsConstructor 相当于无参构造
然后写接口Usermapper
public interface UserMapper {
public int addUser(User user);
public int deleteUser(int id);
public int updateUser(User user);
public List showUser();
}
写接口与实体类的映射文件
UserMapper.xml
//分别对应接口方法,对应的实体类 insert into user(name ,password,age,address)values (#{name},#{password},#{age},#{address}) delete from user where id = #{id} update user set name=#{name},age=#{age},address=#{address} where id=#{id}
然后是全局配置文件
mybatis-config.xml
//将映射文件注入配置文件中,莫忘。
最后写一个测试类TestUser
public class TestUser {
@Test
public void add() {
try {
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
SqlSession sqlSession = factory.openSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User user = new User();
user.setName("sxm");
user.setPassword("123");
user.setAge(22);
user.setAddress("ys");
int i = mapper.addUser(user);
if (i > 0) {
sqlSession.commit();
System.out.println("增加成功");
} else {
System.out.println("增加失败");
}
}catch (IOException e){
e.printStackTrace();
}
}
@Test
public void delete() {
try {
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
SqlSession sqlSession = factory.openSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
int i = mapper.deleteUser(3);
if (i > 0) {
sqlSession.commit();
System.out.println("删除成功");
} else {
System.out.println("删除失败");
}
}catch (IOException e){
e.printStackTrace();
}
}
@Test
public void update() {
try {
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
SqlSession sqlSession = factory.openSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User user = new User();
user.setId(1);
user.setName("sxm");
user.setPassword("123");
user.setAge(22);
user.setAddress("ys");
int i = mapper.updateUser(user);
if (i > 0) {
sqlSession.commit();
System.out.println("修改成功");
} else {
System.out.println("修改失败");
}
}catch (IOException e){
e.printStackTrace();
}
}
@Test
public void showUser() {
try {
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
SqlSession sqlSession = factory.openSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
List users = mapper.showUser();
for (User user:users){
System.out.println(user.getName()+"t"+user.getAddress());
}
}catch (IOException e){
e.printStackTrace();
}
}
}
完成Mybatis框架的增删查改。
注:
Maven官网
https://mvnrepository.com/
Mbatis官网
https://mybatis.org/mybatis-3/zh/configuration.html
照例一句歌词



