public class User {
private int id;
private String name;
private int age;
/**
* 必须要有默认构造函数
*/
public User(){
}
public User(String name, int age) {
this.name = name;
this.age = age;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
4、MyBatis的SQL映射文件
<?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 namespace="com.leibo.vo">
<select id="selectUsers" resultType="com.leibo.vo.User">
select * from user
</select>
<insert id="insertUser" parameterType="com.leibo.vo.User" useGeneratedKeys="true" keyProperty="id">
insert into user(name,age) values (#{name},#{age})
</insert>
<delete id="deleteUser" parameterType="int">
delete from user where id = #{id}
</delete>
<update id="updateUser" parameterType="java.util.Map">
update user set name = #{name} where id = #{id}
</update>
</mapper>
5、单元测试
仅仅为测试用法,代码写的不是很规范
public class UserTest {
SqlSessionFactory sqlSessionFactory = null;
@Before
public void setUp() throws Exception {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
}
@Test
public void query() {
SqlSession sqlSession = sqlSessionFactory.openSession();
List<User> list = sqlSession.selectList("selectUsers");
for (User user : list) {
System.out.println(user.getName() + " -> " + user.getAge());
}
sqlSession.close();
}
@Test
public void insert() {
SqlSession sqlSession = sqlSessionFactory.openSession();
User user = new User("insert1", 22);
sqlSession.insert("insertUser", user);
// 必须要写提交,不然不会插入数据
sqlSession.commit();
sqlSession.close();
}
@Test
public void delete() {
SqlSession sqlSession = sqlSessionFactory.openSession();
sqlSession.delete("deleteUser", 6);
sqlSession.commit();
sqlSession.close();
}
@Test
public void update() {
SqlSession sqlSession = sqlSessionFactory.openSession();
Map<String, Object> map = new HashMap<String, Object>();
map.put("name", "new name");
map.put("id", 7);
sqlSession.update("updateUser", map);
sqlSession.commit();
sqlSession.close();
}
}