当前位置: 首页 > news >正文

长沙旅游商贸职业技术学院商丘市网络优化公司地址

长沙旅游商贸职业技术学院,商丘市网络优化公司地址,全球知名设计公司,如何做婚庆公司的网站使用 SqlSession 在 MyBatis 中#xff0c;你可以使用 SqlSessionFactory 来创建 SqlSession。 一旦你获得一个 session 之后#xff0c;你可以使用它来执行映射了的语句#xff0c;提交或回滚连接#xff0c;最后#xff0c;当不再需要它的时候#xff0c;你可以关闭 s… 使用 SqlSession 在 MyBatis 中你可以使用 SqlSessionFactory 来创建 SqlSession。 一旦你获得一个 session 之后你可以使用它来执行映射了的语句提交或回滚连接最后当不再需要它的时候你可以关闭 session。 使用 MyBatis-Spring 之后你不再需要直接使用 SqlSessionFactory 了因为你的 bean 可以被注入一个线程安全的 SqlSession它能基于 Spring 的事务配置来自动提交、回滚、关闭 session。 SqlSessionTemplate SqlSessionTemplate 是 MyBatis-Spring 的核心。作为 SqlSession 的一个实现这意味着可以使用它无缝代替你代码中已经在使用的 SqlSession。 SqlSessionTemplate 是线程安全的可以被多个 DAO 或映射器所共享使用。 当调用 SQL 方法时包括由 getMapper() 方法返回的映射器中的方法SqlSessionTemplate 将会保证使用的 SqlSession 与当前 Spring 的事务相关。 此外它管理 session 的生命周期包含必要的关闭、提交或回滚操作。另外它也负责将 MyBatis 的异常翻译成 Spring 中的 DataAccessExceptions。 由于模板可以参与到 Spring 的事务管理中并且由于其是线程安全的可以供多个映射器类使用你应该总是用 SqlSessionTemplate 来替换 MyBatis 默认的 DefaultSqlSession 实现。在同一应用程序中的不同类之间混杂使用可能会引起数据一致性的问题。 可以使用 SqlSessionFactory 作为构造方法的参数来创建 SqlSessionTemplate 对象。 bean idsqlSession classorg.mybatis.spring.SqlSessionTemplateconstructor-arg index0 refsqlSessionFactory / /beanConfiguration public class MyBatisConfig {Beanpublic SqlSessionTemplate sqlSession() throws Exception {return new SqlSessionTemplate(sqlSessionFactory());} }现在这个 bean 就可以直接注入到你的 DAO bean 中了。你需要在你的 bean 中添加一个 SqlSession 属性就像下面这样 public class UserDaoImpl implements UserDao {private SqlSession sqlSession;public void setSqlSession(SqlSession sqlSession) {this.sqlSession sqlSession;}public User getUser(String userId) {return sqlSession.selectOne(org.mybatis.spring.sample.mapper.UserMapper.getUser, userId);} }按下面这样注入 SqlSessionTemplate bean iduserDao classorg.mybatis.spring.sample.dao.UserDaoImplproperty namesqlSession refsqlSession / /beanSqlSessionTemplate 还有一个接收 ExecutorType 参数的构造方法。这允许你使用如下 Spring 配置来批量创建对象例如批量创建一些 SqlSession bean idsqlSession classorg.mybatis.spring.SqlSessionTemplateconstructor-arg index0 refsqlSessionFactory /constructor-arg index1 valueBATCH / /beanConfiguration public class MyBatisConfig {Beanpublic SqlSessionTemplate sqlSession() throws Exception {return new SqlSessionTemplate(sqlSessionFactory(), ExecutorType.BATCH);} }现在所有的映射语句可以进行批量操作了可以在 DAO 中编写如下的代码 public class UserService {private final SqlSession sqlSession;public UserService(SqlSession sqlSession) {this.sqlSession sqlSession;}public void insertUsers(ListUser users) {for (User user : users) {sqlSession.insert(org.mybatis.spring.sample.mapper.UserMapper.insertUser, user);}} }注意只需要在希望语句执行的方法与 SqlSessionTemplate 中的默认设置不同时使用这种配置。 这种配置的弊端在于当调用这个方法时不能存在使用不同 ExecutorType 的进行中的事务。要么确保对不同 ExecutorType 的 SqlSessionTemplate 的调用处在不同的事务中要么完全不使用事务。 SqlSessionDaoSupport SqlSessionDaoSupport 是一个抽象的支持类用来为你提供 SqlSession。调用 getSqlSession() 方法你会得到一个 SqlSessionTemplate之后可以用于执行 SQL 方法就像下面这样: public class UserDaoImpl extends SqlSessionDaoSupport implements UserDao {public User getUser(String userId) {return getSqlSession().selectOne(org.mybatis.spring.sample.mapper.UserMapper.getUser, userId);} }在这个类里面通常更倾向于使用 MapperFactoryBean因为它不需要额外的代码。但是如果你需要在 DAO 中做其它非 MyBatis 的工作或需要一个非抽象的实现类那么这个类就很有用了。 SqlSessionDaoSupport 需要通过属性设置一个 sqlSessionFactory 或 SqlSessionTemplate。如果两个属性都被设置了那么 SqlSessionFactory 将被忽略。 假设类 UserMapperImpl 是 SqlSessionDaoSupport 的子类可以编写如下的 Spring 配置来执行设置 bean iduserDao classorg.mybatis.spring.sample.dao.UserDaoImplproperty namesqlSessionFactory refsqlSessionFactory / /bean
http://www.huolong8.cn/news/338939/

相关文章:

  • 网站开发前端后端书籍网络营销代运营外包公司
  • 制作网页的网站fa兰州市建设厅官方网站
  • 泉州网站建设有哪些erp123登录入口
  • 网站制作公司去哪找wordpress怎么能把文章采集
  • 网站服务器下行很多是什么意思青浦建设网站公司
  • 优化网站的步骤静态网站可以做留言板
  • 国外主流网站开发技术 天堂在线搜索
  • 官方网站查询 优帮云简单网页制作html
  • 网站制作公司北京网站建设都需要提供什么资料
  • 城市建设理论研究上传哪个网站网页图片抓取
  • 金昌市网站建设电商培训机构排名前十
  • 室内设计师个人网站深圳网站建设制作优化
  • 烟台建网站哪家好自己做盗版小说网站吗
  • 网站错位短视频素材下载网站 免费
  • php小型网站开发服装网站开发的需求分析
  • 电商网站建设用php做pc端网站平台
  • 深圳网站网络推广公司杭州网站建设V芯ee8888e
  • win7如何建设免费网站新兴县城乡建设局网站登录
  • 上海 网站开发企业在公司做的网站遇到的问题
  • 吐鲁番做网站竞价排名采用什么计费方式
  • 汕头智能模板建站世界服装鞋帽网免费做网站
  • 新闻类网站开发特点中国万网陈峰欣
  • 好的营销网站设计公司服务器维护中什么意思
  • 网站备案信息不准确安丘网站建设报价
  • 自己怎么做公司网站这几年做啥网站致富
  • wordpress+配置七牛seo顾问收费
  • 网站在线订单系统怎么做又一个wordpress网站
  • 网站建设应列入啥费用免费企业网站哪个好
  • 肇庆住房和城乡建设局网站南京宜电的网站谁做的
  • 网站开发 英文文章泰安房产网站建设