先新建个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框架的路还很长
路漫漫其修远兮,吾将下而求索