【文档说明】精品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框架:Hibernate,Mybatis,JPA实现的机制:使用简单的XML或注解用于配置和原始映射,将接口和Java的PoJos映射成数据库中得记录。MyBatis开发环境搭建Mybatis开发环境搭建1)导入jar包|—Mybatisjar包myb
atis-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开发环境搭建第三步:建立POJO
s的映射文件文件名:随意,默认:java类名+Mapper。文件位置:随意,一般和java实体类放在同一目录下。文件内容:引入dtd映射文件。MyBatis开发步骤MyBatis开发步骤:第一步:配置configuration.xml文件evnironment
s:是为开发提供一个默认的环境。配置文件中:<environmentsdefault=“unit”><environmentid=“unit”></environments>代码:Sessionsession=newSessionFact
ory().builder(reader);environment:指的是Mybatis提供了多种运行环境(开发环境,测试环境)。配置文件中:<environmentid=“development”></environment>代码:Sessionsession=newSess
ionFactory().builder(reader,”development”);注意:一个数据库只能对应一个SessionFactorytransactionManager:type属性值如下:JDBC:简单的使用了J
DBC的提交和回滚。它依赖从数据源获得的连接来管理事务的范围。MANAGED:它从来不会提交或回滚一个连接,而会让其他容器来管理事务整个的生命周期。它从来不提交或回滚一个连接。而它会让容器来管理事务整个生命周期。默认情况下它会关闭连接。一些容器并不希望这样,因此如果你
需要在连接中停止它,将closeConnection属性设置为false。MyBatis开发步骤<transactionManagertype=“MANAGED”><propertyname=“closeConnec
tion”value=“false”/></transactionManager>dataSource:type属性的值UNPOOLED:数据源的实现是每次被请求时简单打开和关闭连接。适用于简单的程序。包含属性
:driver,url,username,password,defaultTransactionIsolationLevelPOOLED:JDBC连接对象的数据源连接池的实现。节约创建和认证时间。POOLED包
含了UNPOOLED的所有属性还有自己的属性poolMaxmimumActiveConnections:在任意时间存在的活动连接数。(也就是正在使用的)默认值10.poolMaxmimuIdleConne
ctions:在任意时间存在空闲的连接数量poolMaximumCheckoutTime:在被强制返回之前,池中连接被检查的时间。默认值:20000毫秒(也就是20秒)注意:以上这些属性放置在dataSource子标签的property中,作为name属
性的值。把属性对应的值放置在value中。MyBatis开发步骤mappers:关联所有实体映射文件标签。mapper:用来书写某一个实体映射文件标签关联方式两种:1)相对路径相对于classpath的路径。<mapperresource=“com/zhongxin/entity/Use
r.xml”/>2)url路径<mapperresource=file:///var/sample/User.xml/>MyBatis开发步骤第二步:创建SessionFactorySessionFactoryB
uilder:建造SessionFactory工厂SessionFactorybuilder(Reader);SessionFactorybuilder(Reader,String);SessionFactorybuilder(Reader,Prope
rties);SessionFactorybuilder(Reader,String,Properties);SessionFactorybuilder(InputStream);SessionFactorybuilder(InputStream,String);SessionFact
orybuilder(Reader,Properties);SessionFactorybuilder(Reader,String,Properties);builder方法中得String参数和environment标签有关联。假设不想使用默认
的环境configuration.xml:<environmentid=“开发环境字符串”></environment>代码中:调用:builder(Reader,String)builder(Reader,String,Propertie
s)builder(InputStream,String)builder(InputStream,String,Properties)注意:只需把以上方法中得String类型的参数替换成environment属性id的值即可。MyBatis
开发步骤builder方法中得Properties类型的参数和Configuration.xml文件的properties标签和dataSource标签有关联。数据库连接字符串的配置方式:1.手动加载properties和在mybaties中配置da
taSource的标签1)myBaties.xml配置<dataSourcetype="POOLED"><propertyname="driver"value="${driver}"/><propertyname="url"value="${url}"/><property
name="username"value="${username}"/><propertyname="password"value="${password}"/></dataSource>2)书写properties配
置文件注意:properties中的配置文件的key必须和mybaties.xml中得${key}保持一致。3)手动加载propertiesprivatestaticPropertiespro=newProperties();stat
ic{Stringpath="/com/zhongxin/mybaties/test/param.properties";InputStreamis=Test2.class.getResourceAsStream(path);MyBa
tis开发步骤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="username"value="w61"/><pr
opertyname="password"value="w61"/></properties>MyBatis开发步骤2)mybaties.xml中配置dataSource标签:<dataSourcetype="POOLED"><propertyname="driver"value
="${driver}"/><propertyname="url"value="${url}"/><propertyname="username"value="${username}"/><prope
rtyname="password"value="${password}"/></dataSource>3)书写properties配置文件注意:properties中的配置文件的key必须和mybaties.xml中得${key}保持一致。4)
调用方法:SqlSessionFacotryBuilderSqlSessionFactorybuilder(InputStream,Properties);3.混合加载:1)mybaties.xml中配置properties标签:<pr
operties><propertyname="username"value="w61"/><propertyname="password"value="w61"/></properties>MyBatis开发步骤<d
ataSourcetype="POOLED"><propertyname="driver"value="${driver}"/><propertyname="url"value="${url}"/><propertyname="username"value="${use
rname}"/><propertyname="password"value="${password}"/></dataSource>2)书写properties配置文件注意:properties中的配置文件的key必须和mybaties.xm
l中得${key}保持一致。3)手动加载properties配置文件:privatestaticPropertiespro=newProperties();static{Stringpath="/com/zhongxin/mybaties/test/param.pr
operties";InputStreamis=Test2.class.getResourceAsStream(path);try{pro.load(is);}catch(IOExceptione){e.printStackTrace();}}MyBa
tis开发步骤4)设置valuepro.setProperty(Stringkey,Stringvalue);5)调用方法:SqlSessionFactoryBuilderSqlSessionFactorybuilder(InputStr
eam,Properties);注意:加载优先级:1)mybaties.xml中得标签的属性值2)加载properties文件中的配置信息,它会覆盖标签中定义的属性值3)properties手动设置的的配置信息,它会覆
盖properties配置文件中得属性值第三步:创建SessionSessionFactory:打开Session与数据库的会话SessionopenSession();SessionopenSession(boolean);