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

医药招商网站大全企业信息公开网查询

医药招商网站大全,企业信息公开网查询,wordpress回复邮件提醒,苏州房产网Spring 集成 MyBatis 将 MyBatis 与 Spring 进行整合#xff0c;主要解决的问题就是将 SqlSessionFactory 对象交由 Spring 来管理。所以该整合#xff0c;只需要将 SqlSessionFactory 的对象生成器SqlSessionFactoryBean 注册在 Spring 容器中#xff0c;再将其注入给 Dao…Spring 集成 MyBatis 将 MyBatis 与 Spring 进行整合主要解决的问题就是将 SqlSessionFactory 对象交由 Spring 来管理。所以该整合只需要将 SqlSessionFactory 的对象生成器SqlSessionFactoryBean 注册在 Spring 容器中再将其注入给 Dao 的实现类即可完成整合。 实现 Spring 与 MyBatis 的整合常用的方式扫描的 Mapper 动态代理 Spring 像插线板一样mybatis 框架是插头可以容易的组合到一起。 插线板 spring 插上 mybatis两个框架就是一个整体。 1、MySQL 创建数据库 db1,新建表 student2 2、maven 依赖 pom.xml dependenciesdependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/versionscopetest/scope/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion5.3.26/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-tx/artifactIdversion5.3.26/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-jdbc/artifactIdversion5.3.26/version/dependencydependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.5.11/version/dependency!-- Spring整合MyBatis的依赖 --dependencygroupIdorg.mybatis/groupIdartifactIdmybatis-spring/artifactIdversion2.1.0/version/dependency!-- --------------------- --dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.29/version/dependencydependencygroupIdcom.alibaba/groupIdartifactIddruid/artifactIdversion1.2.8/version/dependency /dependencies !--插件-- buildresourcesresourcedirectorysrc/main/java/directoryincludesinclude**/*.properties/includeinclude**/*.xml/include/includesfilteringfalse/filtering/resource/resourcespluginsplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdversion3.11.0/versionconfigurationsource1.8/sourcetarget1.8/target/configuration/plugin/plugins /build 3、定义实体类 Student 代码如下 package com.ambow.pojo;import lombok.Data;Data public class Student {private int id;private String name;private int age;} 4、定义 StudentDao 接口 代码如下 package com.ambow.dao;import com.ambow.pojo.Student;import java.util.List;public interface StudentDao {int insertStudent(Student student);int updateStudent(Student student);int deleteStudent(int id);Student selectStudentById(int id);ListStudent selectAllStudents(); } 5、定义映射文件 mapper 在 Dao 接口的包中创建 MyBatis 的映射文件 mapper命名与接口名相同本例为 StudentDao.xml mapper 中的 namespace 取值也为 Dao 接口 的全限定性名。 代码如下 ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.ambow.dao.StudentDaoinsert idinsertStudentinsert into student2 values(null,#{name},#{age})/insertupdate idupdateStudentupdate student2 set name #{name},age #{age} where id #{id}/updatedelete iddeleteStudentdelete from student2 where id #{id}/deleteselect idselectStudentById resultTypecom.ambow.pojo.Studentselect * from student2 where id #{id}/selectselect idselectAllStudents resultTypecom.ambow.pojo.Studentselect * from student2/select/mapper 6、定义 Service 接口和实现类 接口定义 代码如下 package com.ambow.service;import com.ambow.pojo.Student;import java.util.List;public interface StudentService {int addStudent(Student student);int modifyStudent(Student student);int removeStudent(int id);Student findStudentById(int id);ListStudent findAllStudents(); }实现类定义 代码如下 package com.ambow.service.impl;import com.ambow.dao.StudentDao; import com.ambow.pojo.Student; import com.ambow.service.StudentService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.stereotype.Service; import java.util.List;Service(studentService) public class StudentServiceImpl implements StudentService {//引入StudentDao的对象Autowiredprivate StudentDao studentDao;public void setStudentDao(StudentDao studentDao) {this.studentDao studentDao;}Overridepublic int addStudent(Student student) {return studentDao.insertStudent(student);}Overridepublic int modifyStudent(Student student) {return studentDao.updateStudent(student);}Overridepublic int removeStudent(int id) {return studentDao.deleteStudent(id);}Overridepublic Student findStudentById(int id) {return studentDao.selectStudentById(id);}Overridepublic ListStudent findAllStudents() {return studentDao.selectAllStudents();} }7、定义 MyBatis 主配置文件 在 src 下定义 MyBatis 的主配置文件命名为 mybatis.xml 这里有两点需要注意 1主配置文件中不再需要数据源的配置了。因为数据源要交给 Spring 容器 来管理了。 2这里对 mapper 映射文件的注册使用标签即只需给出 mapper 映射文件所在的包即可。因为 mapper 的名称与 Dao 接口名相同 可以使用这种简单注册方式。 这种方式的好处是若有多个映射文件这里的 配置也是不用改变的。当然也可使用原来的标签方式。 8 、修改 Spring 配置文件 1 数据源的配置(掌握) 使用 JDBC 模板首先需要配置好数据源数据源直接以 Bean 的形式配置 在 Spring 配置文件中。根据数据源的不同其配置方式不同 Druid 数据源 DruidDataSource Druid 是阿里的开源数据库连接池。是 Java 语言中最好的数据库连接 池。Druid 能够提供强大的监控和扩展功能。Druid 与其他数据库连接池的 最大区别是提供数据库的 官网GitHub - alibaba/druid: 阿里云计算平台DataWorks(https://help.aliyun.com/document_detail/137663.html) 团队出品为监控而生的数据库连接池阿里云计算平台DataWorks(https://help.aliyun.com/document_detail/137663.html) 团队出品为监控而生的数据库连接池 - GitHub - alibaba/druid: 阿里云计算平台DataWorks(https://help.aliyun.com/document_detail/137663.html) 团队出品为监控而生的数据库连接池https://github.com/alibaba/druid 使用地址Home · alibaba/druid Wiki · GitHub阿里云计算平台DataWorks(https://help.aliyun.com/document_detail/137663.html) 团队出品为监控而生的数据库连接池 - Home · alibaba/druid Wikihttps://github.com/alibaba/druid/wiki/ 常见问题 配置连接池 Spring 配置文件 代码如下 !--1.DataSource--bean iddataSource classcom.alibaba.druid.pool.DruidDataSourceproperty namedriverClassName value${jdbc.driver} /property nameurl value${jdbc.url} /property nameusername value${jdbc.username} /property namepassword value${jdbc.password} //bean 2 从属性文件读取数据库连接信息 为了便于维护可以将数据库连接信息写入到属性文件中使 Spring 配置 文件从中读取数据。 属性文件名称自定义但一般都是放在 src 下。 代码如下 jdbc.drivercom.mysql.jdbc.Driver jdbc.urljdbc:mysql://192.168.2.111:3306/db1 jdbc.usernameroot jdbc.passwordMysql666! Spring 配置文件从属性文件中读取数据时需要在的 value 属性中使用${ }将在属性文件中定义的 key 括起来以引用指定属性的值。 该属性文件若要被 Spring 配置文件读取其必须在配置文件中进行注册。 使用context标签。 context:property-placeholder /方式(掌握) 该方式要求在 Spring 配置文件头部加入 spring-context.xsd 约束文件 context:property-placeholder /标签中有一个属性 location用于指定属 性文件的位置。 3 注册 SqlSessionFactoryBean 代码如下  !--2.注册SqlSessionFactoryBean--bean idsqlSessionFactory classorg.mybatis.spring.SqlSessionFactoryBeanproperty namedataSource refdataSource /property nametypeAliasesPackage valuecom.ambow.pojo /property namemapperLocations valueclasspath:com/ambow/dao/*.xml //bean 4 定义 Mapper 扫描配置器 MapperScannerConfigurer Mapper 扫描配置器 MapperScannerConfigurer 会自动生成指定的基本 包中 mapper 的代理对象。该 Bean 无需设置 id 属性。basePackage 使用分 号或逗号设置多个包。 代码如下 !--3.mapper的扫描配置器 - 生成mapper的代理对象--bean classorg.mybatis.spring.mapper.MapperScannerConfigurerproperty namesqlSessionFactoryBeanName valuesqlSessionFactory /property namebasePackage valuecom.ambow.dao //bean 9、向 Service 注入接口名 向 Service 注入 Mapper 代理对象时需要注意由于通过 Mapper 扫描配置器 MapperScannerConfigurer 生成的 Mapper 代理对象没有名称所以在 向 Service 注入 Mapper 代理时无法通过名称注入。但可通过接口的简单类名注入因为生成的是这个 Dao 接口的对象。 代码如下 !--4.向service层注入Dao-- !-- bean idstudentService classcom.ambow.service.impl.StudentServiceImplproperty namestudentDao refstudentDao //bean-- 10、Spring 配置文件全部配置 代码如下 ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:contexthttp://www.springframework.org/schema/contextxsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd!--整合把MyBatis中的核心对象放到Spring容器--!--引入属性配置文件--context:property-placeholder locationclasspath:jdbc.properties /context:component-scan base-packagecom.ambow.service /!--1.DataSource--bean iddataSource classcom.alibaba.druid.pool.DruidDataSourceproperty namedriverClassName value${jdbc.driver} /property nameurl value${jdbc.url} /property nameusername value${jdbc.username} /property namepassword value${jdbc.password} //bean!--2.注册SqlSessionFactoryBean--bean idsqlSessionFactory classorg.mybatis.spring.SqlSessionFactoryBeanproperty namedataSource refdataSource /property nametypeAliasesPackage valuecom.ambow.pojo /property namemapperLocations valueclasspath:com/ambow/dao/*.xml //bean!--3.mapper的扫描配置器 - 生成mapper的代理对象--bean classorg.mybatis.spring.mapper.MapperScannerConfigurerproperty namesqlSessionFactoryBeanName valuesqlSessionFactory /property namebasePackage valuecom.ambow.dao //bean!--4.向service层注入Dao-- !-- bean idstudentService classcom.ambow.service.impl.StudentServiceImplproperty namestudentDao refstudentDao //bean--!--注入的过程--!--dataSource - SqlSessionFactoryBean - MapperScannerConfigurer(生成Dao代理对象) - studentService--/beans 项目整体结构如下图 运行测试类test02 运行测试类test03
http://www.hkea.cn/news/14529017/

相关文章:

  • 网站网站开发逻辑营销号视频生成器网页版
  • 网站建设的岗位叫什么网络营销公司网络推广
  • wordpress ydg theme网站标题seo
  • 淄博哪家网络公司做网站好南京 推广 网站建设
  • 淘宝网站建设设计模板邢台网站改版定制
  • 装修论坛网站有哪些萧山建设银行招聘网站
  • 平台网站建设有哪些智慧软文发布系统
  • 做网站运营需要什么资源海珠电子商务网站建设
  • 做2手车网站需要多少钱国家最新消息
  • Apple 手机网站制作百度一下官网页
  • 注册号域名后如何建设公司网站安顺北京网站建设
  • 做游戏都需要什么网站关于网站建设的总结
  • 文成网站制作网站维护 静态页面
  • 如何免费注册网站域名网站开发专业感想
  • 三更app下载网站wordpress屏蔽谷歌
  • 大型电子商务网站建设公司杭州富阳区网站建设公司
  • 衡水精品网站建设wordpress 4.6.1 exp
  • 宜兴建设局网站建筑行业信息平台
  • 校园二手市场网站开发的意义松江网站建设多少钱
  • 蔡甸网站建设所有网站域名都有
  • 无锡网站制作楚天软件腾达建设哪里的
  • 企业网站备案需要法人拍照吗织梦网站主页底
  • 网站建设与管理维护的答案李建青安微省建设厅田网站
  • 做网站什么职业郑州设计公司招聘
  • 返利网站建设服务海关申报网站怎么做
  • asp.net 网站开发实例英文网站建设解决方案
  • 苏州网站建设提供商设计师找图网站
  • 西安网站建设缑阳建黄骅港信息吧
  • 自己做的网站8x8x域名解析ip地址查询 1080p
  • wordpress注册后发邮件网站优化的方法与技巧