Mybatis简单了解:
|--Mybatis是一个位于数据持久层,对JDBC进行封装的一个框架
|--Mybatis解决了JDBC中sql语句死板、增删改查代码大量冗余的问题
|--Mybatis是一个半自动化的ORM框架,可以实现javabean类和数据表中记录的映射
|--半自动化是指仍需要我们自己手写sql语句
|--O(Object)、R(Relational)、M(Mapping)
Mybatis程序创建流程:
|--创建一个Maven工程或者模块
|--添加mybatis和mysql驱动的依赖
|--配置mybatis的核心配置文件(一个模块对应一个)
|--一般取名为mybatis-config.xml
|--一般放置于resources文件夹中(因为resources文件夹也被视作类路径)
|--具体配置内容如下(具体属性值根据项目情况进行调整):
|--<?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="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="XXX"/>
<property name="url" value="XXX"/>
<property name="username" value="XXX"/>
<property name="password" value="XXX"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="XXX"/>
</mappers>
</configuration>
|--一般一个数据库对应一个<environment>标签,在build工厂类的时候通过id进行区分
|--<transactionManager type="XXX"/>是用于控制事务管理模式,XXX可选jdbc、managed
|--jdbc指由mybatis进行事务管理,底层依然是调用JDBC的方法实现
|--maanged指将事务管理交给第三方进行,例如spring等
|--<dataSource type="XXX">是用于控制数据源的模式,即创建Connection对象的模式,XXX可选UNPOOLED、POOLED、JNDI
|--UNPOOLED表示不使用数据库连接池
|--POOLED表示使用Mybatis自带的连接池
|--JNDI表示集成第三方的连接池
|--注意不同的数据源模式其下对应的属性配置也会有所不同
|--<configuration>标签中可以通过properties、property、${变量名}组合使用的方式自定义配置文件中的全局变量
|--实际开发中为了更灵活,常将property标签中的内容写成类路径下的properties文件,在properties标签中通过resource属性调用
|--注意Mybatis核心配置文件中各个属性标签的顺序是有考究的,不能乱序
|--配置数据库映射配置文件(一般一张表对应一个)
|--一般取名为XXXMapper.xml
|--一般放置于resources文件夹中(因为resources文件夹也被视作类路径)
|--具体配置内容如下(具体属性值根据项目情况进行调整):
|--<?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="org.mybatis.example.BlogMapper">
<insert id='XXX'></insert>
<delete id='XXX'></delete>
<update id='XXX'></update>
<select