MyBatis基础
1.概述
-
MyBatis是支持定制化SQL、存储过程以及高级映射的优秀持久层框架
-
避免传统JDBC硬编码
-
XML配置或者注解
-
POJO对象和数据库记录直接映射
-
完善的文档支持
-
-
MyBatis使用场景
-
更加关注SQL优化的项目
-
需求频繁更新改动的项目
-
2.开发环境搭建(以User实体类为例)
-
安装(maven中添加依赖到pom.xml)
1
2
3
4
5<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>版本号</version>
</dependency>若要使用数据库
1
2
3
4
5<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.41</version>
</dependency> -
在resources文件中添加mybatis-config.xml配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24<xml version="1.0" encoding="UTF-8" >
<configuration>
<!--properties配置 用于加载外部的properties配置文件-->
<properties resource="db.properties"></properties>
<!--environments 主要用于数据源的配置,可以配置多个数据源-->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<!--引入某一个具体的映射文件,resource进行路径方式引入 -->
<mapper resource="mapper/usersMapper.xml"/>
</mappers>
</configuration>db.properties文件中:
1
2
3
4driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mydb
username=root
password=usersMapper.xml配置文件中:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21<xml version="1.0" encoding="UTF-8" >
<!--Mapper 用于定义一个映射文件的根节点
namespace属性是用来配置命名空间,主要进行session级别的缓存管理
命名空间默认情况下,使用我们当前操作的实体类的全路径
-->
<mapper namespace="com.imooc.entity.Users">
<!-- <select id = "findById" resultType="com.imooc.entity.Users">
SELECT * FROM users where id = #{ id }
</select> -->
<select id = "findAll" resultType="com.imooc.entity.Users">
SELECT * FROM users
<if test="id != null">
where id = #{id}
</if>
</select>
</mapper>
3.utils类 - SqlSessionFactoryUtils
1 | public class SqlSessionFactoryUtils { |
4.dao类 - UsersDAO
1 | public class UsersDAO { |
5.servlet类 - 多条数据查询
1 |
|
6.servlet类 - 单条数据查询
1 |
|
7.listener类 - 初始化Listener
1 | //监听器 监听容器启动和销毁 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 515code-实验室!
评论