本文是基于《JavaEE实用教程(第三版)》课程配套ppt总结的内容
学习目标:
Mybatis的使用与原理
学习内容:
1. MyBatis简介
(1)MyBatis是一个半自动映射框架,它需要用户手工匹配提供POJO、SQL和映射关系,并熟练地掌握SQL语言的编写,而不像Hibernate那种全表映射能自动地生成对应的SQL语句。
(2)MyBatis可以通过配置动态SQL并优化SQL语句来优化数据库操作性能,它还支持存储过程,而Hibernate无法做到这些。
(3)MyBatis以第三方包的形式提供,不像Hibernate本身是集成在Java EE开发的MyEclipse环境中的,故只能以.jar包的形式引入项目来使用。
2. 第一个MyBatis程序(Myeclipse实现)
(1)创建Java项目
(2)加载MyBatis包
(3)编写POJO类和映射文件
假设数据库表名为userTable,则POJO类可为UserTable.java;映射文件可为UserTableMapper.xml,内容如下:
<?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">
<!-- <mapper>是根元素,它包含一个namespace属性,该属性指定了命名空间,也就是此映射文件所在的完整包路径-->
<mapper namespace="org.vo.UserTableMapper">
<!--根元素中配置了4个子元素,子元素中的信息就是用于执行SQL语句的配置:
1.其id属性是每个子元素的唯一标识,也就是在主程序中传递给会话对象执行操作的字符串参数中的方法名;
2.parameterType属性用来指定该子元素执行SQL时需要传入参数的类型;
3.resultType属性用于指定返回结果的类型
-->
<select id="fromUserTable" parameterType="Integer" resultType="org.vo.UserTable">
select * from userTable
</select>
<insert id="intoUserTable" parameterType="org.vo.UserTable">
insert into userTable(username, password) values(#{username}, #{password})
</insert>
<update id="updtUserTable" parameterType="org.vo.UserTable">
update userTable set username=#{username}, password=#{password} where id = #{id}
</update>
<delete id="deltUserTable" parameterType="Integer">
delete from userTable where id = #{id}
</delete>
</mapper>
(4)创建mybatis-config.xml核心配置文件
使用MyBatis必须配置它,需要用户手动创建MyBatis核心配置文件mybatis-config.xml,它的作用相当于Hibernate框架中的hibernate.cfg.xml文件。mybatis-config.xml文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="sqlsrv">
<environment id="sqlsrv">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<property name="password" value="njnu123456"/>
<property name="username" value="sa"/>
<property name="url" value="jdbc:sqlserver://localhost:1433;databaseName=TEST"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org/vo/UserTableMapper.xml"/>
</mappers>
</configuration>
(5)编写测试类
(6)运行
3. MyBatis原理及工作流程
4. 与Hibernate类比
扫描二维码关注公众号,回复:
14848853 查看本文章
学习时间:
有空就学学习产出:
据学习的内容进行完善和补充