持久层框架是 Java 开发的重要部分,但是Hibernate 是一种比较重型的框架,MyBatis 作用一种轻量化的开源持久层框架,可以提高开发效率,同时 MyBatis 也是一种方便掌握与使用的框架。
MyBatis 最大的优点就是 SQL 与代码完全分离,提高 Java 开发的规范性与可扩展性。
Mybatis 中使用别名,
MybatisConfig.xml 配置文件
<typeAliases>
<typeAlias alias="MyUser" type="MyUser所在的包名"/>
</typeAliases>
Mapper文件
============
增操作
<insert id="insertUser" parameterType="MyUser" flushCache="true" statementType="PREPARED" keyProperty="id" useGeneratedKeys="true" timeout="20000">
insert into user values(#{username,jdbcType=VARCHAR},#{password,jdbcType=VARCHAR})
</insert>
单元测试
SqlSessionFactory sqlMapper=new SqlSessionFactoryBuilder().build(reader);
session=sqlMapper.openSeesion();
try{
MyUser myuser=new MyUser();
myuser.setUserName("myname");
myuser.setPassword("mypwd");
session.insert("insertUser",myuser);
}
增操作
<insert id="insertUser" parameterType="MyUser" flushCache="true" statementType="PREPARED" keyProperty="id" useGeneratedKeys="true" timeout="20000">
insert into user values(#{username,jdbcType=VARCHAR},#{password,jdbcType=VARCHAR})
</insert>
单元测试
SqlSessionFactory sqlMapper=new SqlSessionFactoryBuilder().build(reader);
session=sqlMapper.openSeesion();
try{
MyUser myuser=new MyUser();
myuser.setUserName("myname");
myuser.setPassword("mypwd");
session.insert("insertUser",myuser);
}
=========
改操作
<update id="updateUser" parameterType="MyUser" >
update user set username=#{username,jdbcType=VARCHAR},#{password,jdbcType=VARCHAR} where
id=#{id,jdbcType=INTEGER}
</update>
单元测试
SqlSessionFactory sqlMapper=new SqlSessionFactoryBuilder().build(reader);
session=sqlMapper.openSeesion();
try{
MyUser myuser=new MyUser();
myuser.setUserName("myname");
myuser.setId("1");
session.update("updateUser",myuser);
}
使用 MAP 接口。
事务处理
http://www.jikexueyuan.com/course/880_3.html?ss=1
http://www.jikexueyuan.com/course/950.html
http://www.jikexueyuan.com/course/924_3.html?ss=1
http://www.jikexueyuan.com/course/1430.html
待续
持久层框架是 Java 开发的重要部分,但是现在流行的 Hibernate 是一种比较重型的框架,MyBatis 作用一种轻量化的开源持久层框架,可以提高开发效率,同时 MyBatis 也是一种方便掌握与使用的框架。MyBatis 最大的优点就是 SQL 与代码完全分离,提高 Java 开发的规范性与可扩展性。