【Mybatis一】 getMapper()方法的使用
需要理解动态代理和mybatis的一些基础知识!
-
步骤1、定义需要代理的接口
//这里以添加方法为例 public interface ProductDao { public void addProduct(Products products); }
-
步骤2、在相同的目录下创建与接口对应的mapper.xml文件
<!--
1.namespace 命名空间要与接口的全类路径名一致
2.insert标签的id属性值要和接口中的方法名一致
-->
<mapper namespace="com.jsu.dao.ProductDao">
<!--<select id="selectBlog" resultType="Blog">
</select>-->
<select id="findProductById" parameterType="int" resultType="com.jsu.bean.Products">
select * from products where pid = #{id}
</select>
<insert id="addProduct" parameterType="com.jsu.bean.Products">
insert into products(pid,pname,price,flag,category_id) values (20,#{pname},#{price},#{flag},#{category_id});
</insert>
- 步骤3、将配置文件映射到sqlMapConfig.xml文件中
-
步骤4、pojo类
public class Products { private int pid; private String pname; private double price; private int flag; private int category_id; }
-
步骤5、编写测试代码
public class TestSqlSession { @Test public void test01 () { SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder(); //创建sqlsessionFactory //读取核心配置文件 InputStream inputStream = TestSqlSession.class.getClassLoader().getResourceAsStream("config/sqlMapConfig.xml"); SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream); //创建sqlsession对象 SqlSession sqlSession = sqlSessionFactory.openSession(); ProductDao mapper = sqlSession.getMapper(ProductDao.class); //创建商品对象 Products products = new Products(); products.setPname("华硕"); products.setPrice(5500); products.setFlag(1); products.setCategory_id(1); mapper.addProduct(products); //sqlSession 进行增删改时需要手动提交 sqlSession.commit(); sqlSession.close(); } }
-
运行结果
数据库