【文档说明】精品JAVA高级备课完美版——mybatis_day01课件.ppt,共(14)页,519.000 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-3323.html
以下为本文档部分文字说明:
MyBatis框架本章任务Mybatis简介Mybatis开发环境搭建Mybatis开发步骤Mybatis配置文件MyBatis简介Mybatis:是一个ORM框架。它支持普通SQL查询,存储过程,高级映射。是Apache组织推出的一个开源免费的ORM框架。ORM框架:Hibernat
e,Mybatis,JPA实现的机制:使用简单的XML或注解用于配置和原始映射,将接口和Java的PoJos映射成数据库中得记录。MyBatis开发环境搭建Mybatis开发环境搭建1)导入jar包|—Mybatisj
ar包mybatis-3.1.0.jar|—optional(第三方jar包)|—asm-xxx.jar|—cglib-xxx.jar|—commons-loggin-xxx.jar|—log4j.xxx.jar
|—slf4j-api-xxx.jar|—slf4j-log4j12-xxx.jar2)连接数据库的配置文件文件名:随意,默认使用(configuration.xml)位置:随意放置。文件内容:dtd头
文件标签MyBatis开发环境搭建第三步:建立POJOs的映射文件文件名:随意,默认:java类名+Mapper。文件位置:随意,一般和java实体类放在同一目录下。文件内容:引入dtd映射文件。My
Batis开发步骤MyBatis开发步骤:第一步:配置configuration.xml文件evnironments:是为开发提供一个默认的环境。配置文件中:<environmentsdefault=“uni
t”><environmentid=“unit”></environments>代码:Sessionsession=newSessionFactory().builder(reader);environment:指的是Mybatis提供了多种运行环境(开发环境,测试环境)。配置
文件中:<environmentid=“development”></environment>代码:Sessionsession=newSessionFactory().builder(reader,”development”);注
意:一个数据库只能对应一个SessionFactorytransactionManager:type属性值如下:JDBC:简单的使用了JDBC的提交和回滚。它依赖从数据源获得的连接来管理事务的范围。MANAGED:它从来不会提交或回滚一个
连接,而会让其他容器来管理事务整个的生命周期。它从来不提交或回滚一个连接。而它会让容器来管理事务整个生命周期。默认情况下它会关闭连接。一些容器并不希望这样,因此如果你需要在连接中停止它,将closeConne
ction属性设置为false。MyBatis开发步骤<transactionManagertype=“MANAGED”><propertyname=“closeConnection”value=“false”/></transactionManager>dataSource:
type属性的值UNPOOLED:数据源的实现是每次被请求时简单打开和关闭连接。适用于简单的程序。包含属性:driver,url,username,password,defaultTransactionIsolationLevelPOOLED:JDBC连接对象的数据源连接池的实现。节约创建和
认证时间。POOLED包含了UNPOOLED的所有属性还有自己的属性poolMaxmimumActiveConnections:在任意时间存在的活动连接数。(也就是正在使用的)默认值10.poolMaxmimuIdleConnections:在任意时间
存在空闲的连接数量poolMaximumCheckoutTime:在被强制返回之前,池中连接被检查的时间。默认值:20000毫秒(也就是20秒)注意:以上这些属性放置在dataSource子标签的prope
rty中,作为name属性的值。把属性对应的值放置在value中。MyBatis开发步骤mappers:关联所有实体映射文件标签。mapper:用来书写某一个实体映射文件标签关联方式两种:1)相对路径相对于
classpath的路径。<mapperresource=“com/zhongxin/entity/User.xml”/>2)url路径<mapperresource=file:///var/sample/User.xml/>MyBatis开发
步骤第二步:创建SessionFactorySessionFactoryBuilder:建造SessionFactory工厂SessionFactorybuilder(Reader);SessionFactorybuilder(Reader,String);Ses
sionFactorybuilder(Reader,Properties);SessionFactorybuilder(Reader,String,Properties);SessionFactorybuilder(InputStream);SessionFactorybuilder(In
putStream,String);SessionFactorybuilder(Reader,Properties);SessionFactorybuilder(Reader,String,Properties);builder
方法中得String参数和environment标签有关联。假设不想使用默认的环境configuration.xml:<environmentid=“开发环境字符串”></environment>代码中:调用:builder(Reader,Str
ing)builder(Reader,String,Properties)builder(InputStream,String)builder(InputStream,String,Properties)注意:只需把以上方法中得String类型
的参数替换成environment属性id的值即可。MyBatis开发步骤builder方法中得Properties类型的参数和Configuration.xml文件的properties标签和dataSourc
e标签有关联。数据库连接字符串的配置方式:1.手动加载properties和在mybaties中配置dataSource的标签1)myBaties.xml配置<dataSourcetype="POOLED"><propertyname="driver"
value="${driver}"/><propertyname="url"value="${url}"/><propertyname="username"value="${username}"/><propertyname="password"value="${password}"/></d
ataSource>2)书写properties配置文件注意:properties中的配置文件的key必须和mybaties.xml中得${key}保持一致。3)手动加载propertiesprivatestaticPropertiespro=newProperties();static{Stri
ngpath="/com/zhongxin/mybaties/test/param.properties";InputStreamis=Test2.class.getResourceAsStream(path);MyBatis开发步骤static{
Stringpath="/com/zhongxin/mybaties/test/param.properties";InputStreamis=Test2.class.getResourceAsStream(path);try{pro.
load(is);}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}4)调用方法:SqlSessionFacotryBuilderSqlSessionFactorybuilder(InputSt
ream,Properties);2.自动加载properties1)mybaties.xml中配置properties标签:<propertiesresource=“properties在工程中相对路径"><propertyname="userna
me"value="w61"/><propertyname="password"value="w61"/></properties>MyBatis开发步骤2)mybaties.xml中配置dataSource标签
:<dataSourcetype="POOLED"><propertyname="driver"value="${driver}"/><propertyname="url"value="${url}"/><propertyname="username"va
lue="${username}"/><propertyname="password"value="${password}"/></dataSource>3)书写properties配置文件注意:properties中的配置文件的key必须和myb
aties.xml中得${key}保持一致。4)调用方法:SqlSessionFacotryBuilderSqlSessionFactorybuilder(InputStream,Properties);3.混
合加载:1)mybaties.xml中配置properties标签:<properties><propertyname="username"value="w61"/><propertyname="password
"value="w61"/></properties>MyBatis开发步骤<dataSourcetype="POOLED"><propertyname="driver"value="${driver}"/><propertyname="url"value="${url}"/><prop
ertyname="username"value="${username}"/><propertyname="password"value="${password}"/></dataSource>2)书写propertie
s配置文件注意:properties中的配置文件的key必须和mybaties.xml中得${key}保持一致。3)手动加载properties配置文件:privatestaticPropertiespro=newPropert
ies();static{Stringpath="/com/zhongxin/mybaties/test/param.properties";InputStreamis=Test2.class.get
ResourceAsStream(path);try{pro.load(is);}catch(IOExceptione){e.printStackTrace();}}MyBatis开发步骤4)设置valuepro.setProperty(Stringkey
,Stringvalue);5)调用方法:SqlSessionFactoryBuilderSqlSessionFactorybuilder(InputStream,Properties);注意:加载优
先级:1)mybaties.xml中得标签的属性值2)加载properties文件中的配置信息,它会覆盖标签中定义的属性值3)properties手动设置的的配置信息,它会覆盖properties配置文件中得属性值第三步:创建SessionSessionFactory:打开Session与数据库的
会话SessionopenSession();SessionopenSession(boolean);