MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
properties标签是为MyBatis的全局配置文件设置属性,由外部文件引入,一般使用配置文件类来引入数据
源。
数据源的属性文件的名称为编写规范为xxxx.properties,博主这边设置的数据源名称为db.properties,配置文
件的内容编写规范为key=value,等于号两边没有空格例如:
driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@localhost:1521:XE
username=root
password=root
properties的引入方式有两种,一种是resource:在包内部映入,例如属性文件在config包下面,那么它的属性引入为:
settings设置在全局配置文件中比较重要
value="equals,clone,hashCode,toString" />
typeAliases是为java类型起别名的一个标签,默认的为类名的小写,如果设置了value那么它的别名为value的值,package设置的是为当前包包括子包下面的所有类,这就有个问题,如果当前包和子包下面的类名一样,那么就会起冲突,这样样的解决方式就是使用注解方式,@Alias("user"),使用的前提是得引入mybatis库文件并设置环境变量:
environments设置开发环境,可以配置多个环境,由单个environment配置环境,在environment中必须有transactionManager和dataSource标签才算完整,environment的id为设置环境的唯一id标签,由environments中的default设置使用哪一种环境,transactionManager中type有两种:JDBC,代表使用jdbc的方式进行事物的提交和回滚;MANAGED代表使用j2ee的方式进行提交和回滚,dataSource为数据源,type为数据源类型:UNPOOLED|POOLED|JNDI,UNPOOLED
UNPOOLED:该数据源的实现只是在每次请求时打开和关闭连接。虽然速度有点慢,但对于不需要立即可用连接性能的简单应用程序来说,这是一个不错的选择。在这个性能区域中,不同的数据库也有所不同,因此对于某些数据库来说,池和这个配置可能不太重要。
POOLED: 数据源池JDBC连接对象的实现,以避免创建新连接实例所需的初始连接和身份验证时间。这是并发web应用程序实现最快响应的流行方法。
JNDI:该数据源的实现是为了与容器(如EJB或应用程序服务器)一起使用,这些容器可以集中配置数据源或外部,并在JNDI上下文中引用它。这个数据源配置只需要两个属性:
dataBaseIdProvider是为全局设置多个数据源,可以设置多个数据库,如mysql,oracle,sql server等数据库,type="DB_VENDOR"就是得到数据库厂商表示来执行不同的sql。
使用方法在sql映射文件mapper中设置,在查询标签中设是databaseId="oracle",设置数据库执行的sql语句
mappers为将sql映射注册带全局文件当中
设置方式有三种:
resource :引入java包中的sql映射文件mapper.xml;
class:直接引用接口,指向接口,在接口中使用注解的方式操作
public interface UserMapperAnnotaion {
@Select("select id, username, sex from t_user where id = #{id}")
public User findUserById();
}
url:映入网络路径和磁盘路径下的的xml文件;
博主初学MyBatis,就什么错误的地方还请指出,望谅解。