java框架mybatis配置文件总结一
先新建个java EE的项目
该配置文件必须在src的目录下面, 新建一个xml 文件:
建完后发现它会自动建在web目录下面,我们把这个文件移到src目录下面:
(注:对了,该文件的编码最好用utf-8的no bom,该编码是用来文件开头的那三个字符,建议去网上了解一下)
在idea设置该编码:file->setting->editor->file enconding选择最下面的create utf-8 files:
接下来是写配置文件:
一:environments
配置数据库连接,也可以直接书写properties的配置文件:
如果用这个文件配置的话:value对应的值改为${文件名.属性}
二:setting
该属性可以配置二级缓存和打印日志
二级缓存可以在不同的session之间,前提是前一个session必须关闭,第二个session才能缓存一个所查询的数据
三:typeAliases
这个是用来该pojo类取别名
四:mapper
映射器,将pojo类的对应的bean映射文件加入带mybatis的核心文件当中
<mappers> <mapper resource="com/mbatis/mapper/EmpMapper.xml"></mapper> <mapper resource="com/mbatis/mapper/DeptMapper.xml"></mapper> </mappers>
这两个mapper.xml 文件位置在com.mbatis.mapper目录下面
接下来总计一下pojo类的映射xml:
<!--namespace为指定命名空间可以一样,可以随意取名--> <mapper namespace="com.mbatis.pojo.Dept"> <!--开始二级缓存--> <cache></cache> <!--配置对应pojo类属性名和数据库表的列名 type可以为在核心文件配置的别名,也可以指定文件夹对应的类 如果pojo类的属性名跟数据库的列名相同可以不写<result/> 主键用id --> <resultMap id="deptMap" type="dept"> <id></id> <result property="dename" column="dname"></result> </resultMap> <!--查询数据 id是为标识符在命名空间一样的情况下是不能一样的否则会报错 resultMap指定对应的结果集 --> <select id="selectDept" resultMap="deptMap"> SELECT * FROM Dept </select> <!--插入数据 parameterType是指定参数,可以为对象,当前为Dept类的别名(在核心文件已经配置好了) 该其属性用#{}表达 --> <insert id="addDept" parameterType="dept"> insert into dept(deptno,dname,loc) values(SEQ_DEPTID.nextval,#{dname},#{loc}) </insert> <!--查询指定数据 结果集为Dept类对象 --> <select id="getDeptno" resultType="dept" parameterType="java.lang.Integer"> select * from dept where deptno=#{deptno} </select> (对应session查询语句:Dept dept=session.selectOne("getDeptno",10); )
<!-- 多表查询显示的数据 --> <select id="selectEmpDept" resultType="com.mbatis.vo.empInfoView"> select e.empno,e.ename,t.dname,t.loc from emp e,dept t where e.deptno=t.deptno </select> </mapper>
目前就总结到这里
在学习java框架的路还很长
路漫漫其修远兮,吾将下而求索