Maven管理,Spring与Mybatis的环境整合

xiaoxiao2021-02-28  72

ps.本文旨在提供Spring + Mybatis环境整合的资源文件配置供大家参考.

这里是spring与mybatis的环境整合,使用maven管理 希望对大家有帮助,如有错误或疏漏的地方,请大家指出,在这里先谢谢了.

SSM近来比较受大家喜爱, 但其实有些中小项目呢,用到spring+mybatis也就可以了

ps.这是我一个小课题中使用的jar包与配置文件,可能与大家实际开发项目情况有偏差,请自行判断修改.

1.先是jar包截图 :

2.pom.xml :

pom.xml中jar的版本要注意,这里贴出mvnrepository http://mvnrepository.com/ 若是有版本不兼容等问题,可去mvnrepository中查询指定jar包的其他版本.

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>BookStore</groupId> <artifactId>BookStore</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>BookStore Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.0.1</version> <!-- 只在编译时和测试时运行 --> <scope>provided</scope> </dependency> <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.42</version> </dependency> <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.8</version> </dependency> <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.3.0</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-aspects --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>4.3.9.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-expression --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-expression</artifactId> <version>4.3.9.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-context-support --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>4.3.9.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.3.9.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-aop --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>4.3.9.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-core --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.3.9.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-beans --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>4.3.9.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-context --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.3.9.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/aopalliance/aopalliance --> <dependency> <groupId>aopalliance</groupId> <artifactId>aopalliance</artifactId> <version>1.0</version> </dependency> <!-- https://mvnrepository.com/artifact/com.mchange/c3p0 --> <dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> <version>0.9.5.2</version> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet/jstl --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> </dependencies> <build> <finalName>BookStore</finalName> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <executions> <execution> <!-- 打包的时候运行 --> <phase>package</phase> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build> </project>

3.applicationContext.xml :

ps.注意两个< context: />

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"> <context:annotation-config/> <context:component-scan base-package="com.bookstore" /> <!-- 配置c3p0连接池 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="com.mysql.jdbc.Driver"/> <property name="jdbcUrl" value="jdbc:mysql://127.0.0.1:3306/bookstore"/> <property name="user" value="root"/> <property name="password" value="root"/> <!-- 若数据库中连接数不足时,一次向数据库服务器申请多少个连接 --> <property name="acquireIncrement" value="5" /> <!-- 初始化数据库连接时连接的数量 --> <property name="initialPoolSize" value="10" /> <!-- 数据库连接池中最小的数据库连接数 --> <property name="minPoolSize" value="5" /> <!-- 数据库连接池中最大的数据库连接数 --> <property name="maxPoolSize" value="10" /> <!-- 数据库连接池可以维护的Statement的个数 --> <property name="maxStatements" value="10" /> <!-- 每个连接同时可以使用的Statement对象的个数 --> <property name="maxStatementsPerConnection" value="5" /> </bean> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="configLocation" value="com/bookstore/mybatisConfig.xml"></property> </bean> <bean id="dbConnection" class="org.mybatis.spring.mapper.MapperFactoryBean"> <property name="mapperInterface" value="com.bookstore.dao.IUserDao"></property> <property name="sqlSessionFactory" ref="sqlSessionFactory"></property> </bean> </beans>

4.mybatisConfig.xml :

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <mappers> <mapper resource="com/bookstore/DAO.xml"/> </mappers> </configuration>

5.DAO.xml :

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.bookstore.dao.IUserDao"> <!-- 数据库操作 --> <!-- 例:用户注册 --> <select id="register" parameterType="com.bookstore.bean.User"> insert user value(#{id},#{password}) </select> </mapper>

6.IUserDao.java

/** * Dao接口 */ public interface IUserDao { /** * 注册操作 * @param user */ void register(User user); }

7.UserDao.java

/** * dao实现类 */ public class UserDao { /** * 注册操作 * @param user */ public void register(User user) { //获取spring上下文 ApplicationContext ctx = new ClassPathXmlApplicationContext("com/bookstore/applicationContext.xml"); /* * 数据库操作都是通过IUserDao接口操作, * 所以这里是通过IUserDao接口来连接数据库. */ IUserDao iuserDao=(IUserDao) ctx.getBean("dbConnection"); //调用iuserDao中的方法,即可进行对应的数据库操作了 iuserDao.register(user); } }

附上一个小小的项目,供大家参考,GitHub地址. 加油,与大家共勉.

转载请注明原文地址: https://www.6miu.com/read-71409.html

最新回复(0)