先学会xml文件的方式后,再从Maven构建项目就简单很多。
Mybatis官网链接
提示:这里对文章进行总结:
数据库连接可以在容器启动的时候就先进行一定数量的连接,放在连接池当中,等待调用。
举例子:jdbc.initialSize1=50
常用连接池功能不仅仅局限于连接,还能对sql语句进行监控管理、处理异常、管理事务作用。
项目代码中已经创建mapper文件夹,并且创建xml,里面写了sql语句,如何让其对应数据库连接并生效对数据库操作呢?举例子:关注MapperScannerConfigurer配置。
这里配置2个数据源为例子
对应mapper.xml的所在文件夹一般是对某个数据库操作的。
数据源的属性名可以自定义,但是xml 配置中就必须统一
比如jdbc.username数据源中可以改其他名,只要配置在数据源xml中对即可。
--------------------------------------数据源__1----------------------------------------#驱动器
driveConfigClass1=com.mysql.jdbc.Driver
url1=jdbc\:mysql\://localhost\:3306/DataBase_Name?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false
username1=
password1=
#连接池初始化时初始化的数据库连接数,当项目第一次进行增,删,改,查的时候,连接池会初始化,这个时候会根据initialSize参数初始化数据库连接放入连接池中。
initialSize1=50
#最大空闲数
maxIdle1=300
#最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请
minIdle1=50
#最大激活数
maxActive1=300
#用来验证数据库连接的有效性
validationQuery1=select 1--------------------------------------数据源__2----------------------------------------#驱动器
driveConfigClass2=com.mysql.Driver
url2=:mysql\://localhost\:3306/DataBase_Name?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false
name=
word=
#连接池初始化时初始化的数据库连接数,当项目第一次进行增,删,改,查的时候,连接池会初始化,这个时候会根据initialSize参数初始化数据库连接放入连接池中。
initialSize2=10
#最大空闲数
maxIdle2=15
#最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请
minIdle2=10
#最大激活数
maxActive2=15
#用来验证数据库连接的有效性
validationQuery2=select 1
testOnBorrow=true--------------------------------------数据源__3----------------------------------------#配置驱动
sqlServerDrive=com.microsoft.sqlserver.jdbc.SQLServerDriver
url3=jdbc:sqlserver://localhost;database=DataBase_Name
usernameTEST=
passwordTEST=
#最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请
initialSizeTest=15
minIdleTEST=15
maxIdleTEST=1200
#最大激活数
maxActiveTEST=1200
testOnBorrow=true
首要的配置数据库sql语句执行日志,监控和管理,而log4.properties配置是对非sql日志监控
这是 MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为。 下表描述了设置中各项设置的含义、默认值等。
在使用mybatis框架时,首先导入其对应的jar包,并进行相应的配置,所以得对配置文件的每个参数都得了解。一个完全的mybatis配置文件结构如下:
mybatis-Config.xml常用配置注解包括获取数据库连接实例的数据源(DataSource)以及决定事务作用域和控制方式的事务管理器(TransactionManager)
#一个配置完整的 settings 元素的示例如下:
# 全局性地开启或关闭所有映射器配置文件中已配置的任何缓存。
# 延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。 特定关联关系中可通过设置 fetchType 属性来覆盖该项的开关状态。 # 允许 JDBC 支持自动生成主键,需要数据库驱动支持。如果设置为 true,将强制使用自动生成主键。尽管一些数据库驱动不支持此特性,但仍可正常工作(如 Derby)。
#常用配置默认的执行器。SIMPLE 就是普通的执行器;REUSE 执行器会重用预处理语句(PreparedStatement); BATCH 执行器不仅重用语句还会执行批量更新。 #日志 关于mysql语句运行的日志
# 允许使用方法签名中的名称作为语句参数名称。 为了使用该特性,你的项目必须采用 Java 8 编译,并且加上 -parameters 选项。(新增于 3.4.1)
#类型别名(typeAliases)
#分页插件
#将数据源的值注入到三个Bean中,这里只是注入了数据源1,另外连个一次类推
1.DruidDataSource链接学习:
数据库连接池当用户不使用的时候,并没有断开与数据库的连接,而是将连接放到连接池当中,
否则每次连接会耗费极大的连接资源。
Druid连接池是阿里巴巴开源的数据库连接池项目。Druid连接池为监控而生,
内置强大的监控功能,监控特性不影响性能。功能强大,能防SQL注入,内置Loging能诊断Hack应用行为。
2.SqlSessionFactoryBean
浏览器和服务器之间的会话通过Session标记,Session用来维护无状态请求之间的状态的信息。
因此SqlSession是客户端与数据库Server之间建立的会话,并维护了客户端和数据库Server的一些状态信息。
1.SqlSession是关联到具体数据库连接的,实现了SqlSession接口,可以执行sql命令、获取mapper和管理事务
2.SqlSessionFactoryBean是生产SqlSessionFactory的一种工厂Bean;
3.SqlSessionFactory是一种生产SqlSession的工厂,其能力(方法 )就是打开一个会话(客户端和数据库Server)
4.SqlSession是代表数据库连接客户端和数据库Server之间的会话信息;
5.SqlSessionTemplate是SqlSession的一个具体实现。
3.MapperScannerConfigurer
此配置会扫描所在项目的文件夹下的所有接口,然后创建各自接口的动态代理类。这样,Service就可以注入dao的实例了。
mybatis-spring提供了MapperScannerConfigurer这个类,它将会查找类路径下的映射器并自动将它们创建成MapperFactoryBean。
#将jdbc文件引用到这个文件
--------------#为将 数据源1 注入到Bean中----------------------- #引用dataSource_ID1 给sqlsession
--------------#为将 数据源3 注入到Bean中-----------------------#将jdbc文件引用到这个文件
--------------#为将 数据源3 注入到Bean中----------------------- #引用dataSource_ID3 给sqlsession
此篇配置文件会在接下来几个章节被引用
提示:这里对文章进行总结: