手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

如何实现Mybatis与Spring的集成

时间:2024-11-04 03:06:13

1、首先引入spring和mybatis相关依赖jar文件,如果使用maven可以在pom.xml文件里添加,这里不做列举重点介绍下mybatis-spring依赖,这个是mybatis和spring集成一起的关键桥梁<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.2.3</version></dependency>

如何实现Mybatis与Spring的集成

2、添加jdbc.properties数据源配置jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://xxx:3306/study?useUnicode=true&characterEncoding=UTF-8jdbc.username=rootjdbc.password=xxx#druid datasourcedruid.initialSize=1druid.minIdle=3druid.maxActive=10druid.maxWait=60000druid.timeBetweenEvictionRunsMillis=60000druid.minEvictableIdleTimeMillis=300000druid.validationQuery=select now()druid.testWhileIdle=truedruid.testOnBorrow=falsedruid.testOnReturn=falsedruid.poolPreparedStatements=truedruid.maxPoolPreparedStatementPerConnectionSize=20druid.filters=wall,stat

如何实现Mybatis与Spring的集成

3、添加generatorConfig.xml文件,mybatis逆向配置,可以根据数据库表结构生成dao文件<?xml version租涫疼迟="1.0" encoding="UTF-8" ?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" ><generatorConfiguration> <properties resource="jdbc.properties" /> <context id="managementTables" targetRuntime="MyBatis3"> <property name="javaFileEncoding" value="UTF-8"/> <commentGenerator> <property name="suppressAllComments" value="false" /> <property name="suppressDate" value="true" /> </commentGenerator> <jdbcConnection driverClass="${jdbc.driver}" connectionURL="${jdbc.url}" userId="${jdbc.username}" password="${jdbc.password}" /> <!-- 下面的都不用修改 --> <javaTypeResolver> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!-- generate Model --> <javaModelGenerator targetPackage="cn.sw.study.web.model" targetProject="src/main/java"> <property name="enableSubPackages" value="true" /> <property name="trimStrings" value="true" /> </javaModelGenerator> <!-- generate xml --> <sqlMapGenerator targetPackage="sqlmap" targetProject="src/main/resources"> <property name="enableSubPackages" value="true" /> </sqlMapGenerator> <!-- generate Mapper --> <javaClientGenerator type="XMLMAPPER" targetPackage="cn.sw.study.web.dao" targetProject="src/main/java"> <property name="enableSubPackages" value="true" /> </javaClientGenerator> <!-- 规则信息表 --> <table schema="" tableName="t_user" domainObjectName="User"> <generatedKey column="id" sqlStatement="JDBC" identity="true"/> </table> </context></generatorConfiguration>

如何实现Mybatis与Spring的集成

4、maven配置文件中添加my水瑞侮瑜batis-generator-maven-plugin插件<plu爿讥旌护gin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.2</version> <configuration> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.31</version> </dependency> </dependencies></plugin>

如何实现Mybatis与Spring的集成

5、然后在idea的maven对话框中选择对应项目模块的mybatis-generator任务,双击运行生成dao、model、sqlmap文件

如何实现Mybatis与Spring的集成

6、在resources目录下新建一个spring的配置文件,命名为applicationContext-db.xml,专门用来配置罪焐芡拂mybatis的数据库配置<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd"> <!-- main datasource --> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> <!-- <property name="connectionProperties" value="config.decrypt=true" /> --> <!-- 配置初始化大小、最小、最大 --> <property name="initialSize" value="${druid.initialSize}"/> <property name="minIdle" value="${druid.minIdle}"/> <property name="maxActive" value="${druid.maxActive}"/> <!-- 配置获取连接等待超时的时间 --> <property name="maxWait" value="${druid.maxWait}"/> <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 --> <property name="timeBetweenEvictionRunsMillis" value="${druid.timeBetweenEvictionRunsMillis}" /> <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 --> <property name="minEvictableIdleTimeMillis" value="${druid.minEvictableIdleTimeMillis}" /> <property name="validationQuery" value="${druid.validationQuery}" /> <property name="testWhileIdle" value="${druid.testWhileIdle}" /> <property name="testOnBorrow" value="${druid.testOnBorrow}" /> <property name="testOnReturn" value="${druid.testOnReturn}" /> <!-- 打开PSCache,并且指定每个连接上PSCache的大小 如果用Oracle,则把poolPreparedStatements配置为true,mysql可以配置为false。--> <property name="poolPreparedStatements" value="${druid.poolPreparedStatements}" /> <property name="maxPoolPreparedStatementPerConnectionSize" value="${druid.maxPoolPreparedStatementPerConnectionSize}" /> <!-- 配置监控统计拦截的filters --> <property name="filters" value="${druid.filters}" /> </bean> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean" lazy-init="false"> <property name="dataSource" ref="dataSource"></property> <property name="configLocation" value="classpath:sqlmap-config.xml"></property> <!-- mapper和resultmap配置路径 --> <property name="mapperLocations"> <list> <!--表示在sqlmap包或以下所有目录中所有文件 --> <value>classpath:sqlmap/*.xml</value> </list> </property> </bean> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="cn.sw.study.web.dao" /> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /> </bean></beans>

如何实现Mybatis与Spring的集成

7、上面一步是mybatis和spring集成的关键,分成三个部分第一:定义数据源dataSource第二:定义sqlSessionFactory,mapperLocations对应之前生成的sqlmap目录配置第三:org.mybatis.spring.mapper.MapperScannerConfigurer,自动扫描生成的dao接口文件

© 手抄报圈