首先一次性修改配置文件Category.xml,提供CRUD对应的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.how2java.pojo">
<insert id="addCategory" parameterType="Category" >
insert into category_ ( name ) values (#{name})
</insert>
<delete id="deleteCategory" parameterType="Category" >
delete from category_ where id= #{id}
</delete>
<select id="getCategory" parameterType="_int" resultType="Category">
select * from category_ where id= #{id}
</select>
<update id="updateCategory" parameterType="Category" >
update category_ set name=#{name} where id=#{id}
</update>
<select id="listCategory" resultType="Category">
select * from category_
</select>
</mapper>
<mapper>
标签是用于定义一个映射器(Mapper)的 XML 标签。映射器是一种描述 Java 对象和数据库表之间映射关系的组件,可以通过映射器来操作数据库,并将结果集映射为 Java 对象。
运行之后,如图所示可以看到 通过Mybatis查询出来的数据里有新增加的Category
通过session.insert调用addCategory对应的SQL语句
Category c = new Category();
c.setName("新增加的Category");
session.insert("addCategory",c);
addCategory对应的插入sql语句,#{name}会自动获取c对象的name属性值
<insert id="addCategory" parameterType="Category" >
insert into category_ ( name ) values (#{name})
</insert>
public class TestMybatis {
public static void main(String[] args) throws IOException {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession session = sqlSessionFactory.openSession();
Category c = new Category();
c.setName("新增加的Category");
session.insert("addCategory",c);
listAll(session);
session.commit();
session.close();
}
private static void listAll(SqlSession session) {
List<Category> cs = session.selectList("listCategory");
for (Category c : cs) {
System.out.println(c.getName());
}
}
}
删除id=6的对象
Category c = new Category();
c.setId(6);
session.delete("deleteCategory",c);
deleteCategory对应删除的sql语句
<delete id="deleteCategory" parameterType="Category" >
delete from category_ where id= #{id}
</delete>
查询所有