SQL映射文件的配置解析
当我们写好mapper(dao)层接口时,然后在对应的XXXMapper.xml文件中写业务逻辑对应的SQL映射语句,通过这个文件中可以实现CRU操作,那么下面说明如何编写这个.xml文件。
一、.xml文件的内容
1、头文件内容(固定)
<?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">
2、简单的CRUD操作
<mapper namespace="com.dao.StuMapper"> <select id="queryAll" resultType="stu"> <!--查询--> select * from stu; </select> <select id="queryByKey" parameterType="int" resultType="com.pojo.Stu"> <!--in根据主键查询--> select * from stu where sno=#{sno}; </select> <insert id="insert" parameterType="com.pojo.Stu"> <!--增加--> insert into stu value(#{sno},#{sname},#{sage},#{saddress},#{spwd}); </insert> <update id="upd" parameterType="com.pojo.Stu"> <!--更新--> update stu set sname=#{sname},sage=#{sage},saddress=#{saddress},spwd=#{spwd} where sno=#{sno}; </update> <delete id="del" parameterType="int"> <!--删除--> delete from stu where sno=#{sno}; </delete> </mapper>
显而易见:1、配置SQL映射语句,首先使用<mapper>标签,其中namespace属性代表命名,它的属性值是.xml文件对应的XXXMapper(dao)
接口的完整包名接口名
2、<select>标签:实现查询功能 <update>标签: 实现更新功能
<insert>标签: 实现插入功能 <delete>标签; 实现删除功能
二、select、insert、update、delete标签的配置
1、这四个标签是完成CRUD操作的
2、这四个标签主要都有id属性,paramType属性,resultType属性(这三个属性常用)
id属性:属性值是对应的XXXMapper接口中的方法名,属性值一定要与方法名一模一样!!!是必须写的
paramType属性:属性值是对应的XXXMapper接口中方法对应的参数类型,当接口中的方法的参数是Map集合,那么它的属性值是map(小写的)
resultType属性: 属性值是对应的XXXMapper接口中方法的返回类型
注意:在MyBatis中开启了事务,但是自动提交事务默认为false,所以我们需要手动提交事务,这样对应的操作才会对数据库生效!!!所以像增加、更新、删除操作都需要手动提交事务
手动提交事务:sqlSession.commit();//sqlSession是一个引用,是连接数据库的对象
开启提交事务默认为true:sqlSessionFactory.openSession(true);//sqlSessionFactory是一个引用,是SqlSessionFactory的对象,