java之mybatis之使用mybatis实现crud操作
目录结构:
1.封装 mybatis 的工具类:
MybatisUtil.java
public class MybatisUtil { private static SqlSessionFactory getSqlSessionFactory() throws IOException{ Reader reader = Resources.getResourceAsReader("mybatis.cfg.xml"); return new SqlSessionFactoryBuilder().build(reader); } public static SqlSession getSqlSession() throws IOException{ //填写参数 true表示事务自动提交 return getSqlSessionFactory().openSession(true); } }
2.vo类
User.java
1 public class User implements Serializable{ 2 private int id; 3 private String name; 4 private int age; 5 public int getId() { 6 return id; 7 } 8 public void setId(int id) { 9 this.id = id; 10 } 11 public String getName() { 12 return name; 13 } 14 public void setName(String name) { 15 this.name = name; 16 } 17 public int getAge() { 18 return age; 19 } 20 public void setAge(int age) { 21 this.age = age; 22 } 23 @Override 24 public String toString() { 25 return "User [id=" + id + ", name=" + name + ", age=" + age + "]"; 26 } 27 }
3.映射文件
UserMapper.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">insert into t_user(name,age) values(#{name},#{age}) delete from t_user where id=#{id} update t_user set name=#{name},age=#{age} where id=#{id}
4.核心配置文件
mybatis.cfg.xml
<?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"><properties resource="jdbc.properties"> <package name="cn.sxt.vo"/> default="development"> driver}" /> url}" /> username}" /> password}" />
jdbc.properties
driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/test username=root password=1111
5.测试
MybatisTest.java
public class MybatisTest { @Test public void testAdd() throws IOException{ User user = new User(); user.setName("刘德华"); user.setAge(55); SqlSession session = MybatisUtil.getSqlSession(); //增 删 改 返回值为受影响的行数 session.insert("cn.sxt.vo.UserMapper.insertUser", user); session.close(); } @Test public void testUpdate() throws IOException{ SqlSession session = MybatisUtil.getSqlSession(); User user=session.selectOne("cn.sxt.vo.UserMapper.selectUser", 1); user.setName("彰五金"); session.update("cn.sxt.vo.UserMapper.updateUser",user); session.close(); } @Test public void testDelete() throws IOException{ SqlSession session = MybatisUtil.getSqlSession(); session.delete("cn.sxt.vo.UserMapper.deleteUser", 3); session.close(); } @Test public void testFindAll() throws IOException{ SqlSession session = MybatisUtil.getSqlSession(); Listlist = session.selectList("cn.sxt.vo.UserMapper.findAll"); for(User u:list){ System.out.println(u); } session.close(); } }