预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Mybatis Mybatis的封装功能:对数据库功能的封装 封装了获取连接、生产PrepareStatement、设置参数值、执行Sql语句 封装了结果集映射成实体对象过程。 完整步骤: 导入包,主配置文件SqlMapconfig.xml用来指定数据库的连接参数和指定Sql定义文件(注意:一个Sql定义文件就追加一个Mapper) 定义entity实体类满足javabean规范 在entity文件下追加SQL定义文件(XMl),并在主配置文件中添加mapper,加载SQL定义文件。和主配置文件相关联。sqlsession是对Connection的封装, 在dao包下编写接口,SQLXML中的namespace和接口对应,定义抽象方法,注意方法名、方法参数、方法的返回值 在接口的实现类中通过session.getMapper获取dao Mybatis体系结构: SqlMapConfig.xml(1个)主配置文件用于指定数据库连接参数 SqlMapper.xml(多个)SQL定义文件,用于指定SQL操作 实体类用于封装记录信息 MyBatisMapper映射器 Mapper映射器是一个接口,MyBatis提供了一组Mapper映射器编写规则,按规则编写可以自动生成Mapper接口实现。 实现方法: 1、<mappernamespace=”接口”>指定接口类型 2、方法名和id属性名相同 3、参数值和parameterType指定的类型相同 4、返回值:如果是增删改用int或void 查询返回的是单行数据其值为ResultType对应的类型 返回的是多行数据其值为List<ResultType指定的类型> session.getMapper();该方法根据接口生成实现对象 EmpDaodao=session.getMapper(“EmpDao.class”); 通过MyBatis获取SqlSession对象 Stringconf=“SqlMapConfig.xml”; Readerreader=Resources.getResourceAsReader(“conf”); 创建SessionFactoryBuilder对象->SqlSessionFavtory对象 SqlSessionFactoryBuildersfb=newSqlSessionFactoryBuilder(); SqlSessionFactoryssf=sfb.build(reader); 创建Session SqlSessions=ssf.openSession(); 利用SqlSession实现增删改操作,使用步骤: 根据数据表编写实体类 编写SqlMap.xml映射文件,定义SQL操作和映射信息 获取SqlSession,执行SQL语句操作 提交事务 释放SqlSession对象资源 例如增加操作: 在SQLMap.xml文件中定义SQL语句 <insertid=”addDept”parameterType=”org.entity”> insertintoDeptValues(#{name},#{age},#{sal}) </insert> 添加操作的java代码获取Session对象 SqlSessionsession=ssf.openSession(); 调用addDept操作 session.insert(“addDept”,dept); session.commit(); session.close(); Spring整合MyBatis 整合目的:实现程序组件的解耦 需要将MyBatis实现的Dao纳入到spring容器中,这样才能实现依赖注入 ##利用Mybatis自动生成Dao实现(推荐) -SqlSessionFactoryBean(推荐) -MapperFactoryBean -MapperScannerConfigurer(推荐) ##编写Mybatis的Dao实现 -自动扫描,将编写实现类扫描到Spring容器 -使用SqlSessionTemplate编写Dao实现 使用SqlSessionTemplate实现Spring和Mybatis的整合 创建项目,导入jar包 配置ApplicationContext.xml文件 数据源(生成数据库连接池对象) <beanid=”ds”class=”org.aparche.commos.jdcp.BasicDataSource”> <propertyname=”driverClass”value=””/> <propertyname=”userName”value=””/> <propertyn