Mybatis+Spring整合
来源:互联网 发布:农村淘宝宝网址是什么 编辑:程序博客网 时间:2024/06/05 18:27
1 概述
示例用maven工程对spring和mybatis进行整合,数据库采用sqlite,连接池采用阿里巴巴druid数据库连接池。
代码:2017-11-28邮件
2 pom.xml
<?xml version="1.0"encoding="UTF-8"?>
<projectxmlns="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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>groupId</groupId>
<artifactId>yangkl</artifactId>
<version>0.0.1</version>
<dependencies>
<!--spring framework-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<!--mybatis-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.8</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.0</version>
</dependency>
<!--阿里巴巴druid数据源的jar包依赖-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.18</version>
</dependency>
<!--sqllite驱动-->
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.20.0</version>
</dependency>
</dependencies>
</project>
3 Spring Context配置
<?xml version="1.0"encoding="UTF-8"?>
<beansxmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scanbase-package="com.greatech.service"></context:component-scan>
<context:property-placeholderlocation="classpath:jdbc.properties"
ignore-unresolvable="true"/>
<!--配置参考https://www.cnblogs.com/ljdblog/p/5842778.html-->
<!-- 配置数据源 -->
<beanname="dataSource"class="com.alibaba.druid.pool.DruidDataSource"
init-method="init"destroy-method="close">
<propertyname="url"value="${jdbc.url}"/>
<propertyname="username"value="${jdbc.username}"/>
<propertyname="password"value="${jdbc.password}"/>
<!-- 初始化连接大小 -->
<propertyname="initialSize"value="0"/>
<!-- 连接池最大使用连接数量 -->
<propertyname="maxActive"value="20"/>
<propertyname="dbType"value="mysql"/>
<!-- 连接池最小空闲 -->
<propertyname="minIdle"value="0"/>
<!-- 获取连接最大等待时间 -->
<propertyname="maxWait"value="60000"/>
<propertyname="validationQuery"value="${validationQuery}"/>
<propertyname="testOnBorrow"value="false"/>
<propertyname="testOnReturn"value="false"/>
<propertyname="testWhileIdle"value="true"/>
<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
<propertyname="timeBetweenEvictionRunsMillis"value="60000"/>
<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
<propertyname="minEvictableIdleTimeMillis"value="25200000"/>
<!-- 打开removeAbandoned功能 -->
<propertyname="removeAbandoned"value="true"/>
<!-- 1800秒,也就是30分钟 -->
<propertyname="removeAbandonedTimeout"value="1800"/>
<!-- 关闭abanded连接时输出错误日志 -->
<propertyname="logAbandoned"value="true"/>
<!-- 监控数据库 -->
<!-- <property name="filters" value="stat" /> -->
<propertyname="filters"value="mergeStat"/>
</bean>
<!-- myBatis文件 -->
<beanid="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean">
<propertyname="dataSource"ref="dataSource"/>
<!-- 配置数据库表对应的java实体类 -->
<propertyname="typeAliasesPackage"value="com.greatech.service.model"/>
<!-- 自动扫描entity目录, 省掉Configuration.xml里的手工配置 -->
<propertyname="mapperLocations"value="mybatis/userdao.xml"/>
</bean>
<beanclass="org.mybatis.spring.mapper.MapperScannerConfigurer">
<propertyname="basePackage"value="com.greatech.service.dao"/>
<propertyname="sqlSessionFactoryBeanName"value="sqlSessionFactory"/>
</bean>
</beans>
4 Jdbc配置
jdbc.driver=org.sqlite.JDBC
jdbc.url=jdbc:sqlite://D://develop/svn2/infoplatform/target/classes/log.db
jdbc.username=sa
jdbc.password=admin
validationQuery=SELECT 1
oracle配置
jdbc.driver=oracle.jdbc.driver.OracleDriverjdbc.url=jdbc:oracle:thin:@10.157.12.33:1521:ldardbjdbc.username=whyxyjzhjdbc.password=whyxyjzh
5 UserDao接口
packagecom.greatech.service.dao;
import com.greatech.service.model.User;
/**
* Created by asus on 2017/11/27.
*/
public interface UserDao {
public User getUser(User user);
public void addUser(User user);
public void updateUser(User user);
public void deleteUser(intUserId);
}
6 实体类
packagecom.greatech.service.dao;
import com.greatech.service.model.User;
/**
* Created by asus on 2017/11/27.
*/
public interface UserDao {
public User getUser(User user);
public void addUser(User user);
public void updateUser(User user);
public void deleteUser(intUserId);
}
7 测试类
packagecom.greatech.service;
import com.greatech.service.dao.UserDao;
import com.greatech.service.model.User;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* Created by asus on 2017/11/27.
*/
public class Test {
public static void main(String[] args) {
ApplicationContext ctx = null;
ctx = new ClassPathXmlApplicationContext("spring-mybatis.xml");
UserDao userDao = (UserDao) ctx.getBean("userDao");
User user = new User();
//添加两条数据
user.setId(1);
user.setUsername("Jessica");
user.setPassword("123");
userDao.addUser(user);
user.setId(2);
user.setUsername("Jessica2");
user.setPassword("123");
userDao.addUser(user);
System.out.println("添加成功");
//查询数据
user.setUsername("Jessica");
user.setPassword("123");
System.out.println(userDao.getUser(user).toString());
user.setUsername("Jessica2");
user.setPassword("123");
System.out.println(userDao.getUser(user).toString());
//修改数据
user.setId(2);
user.setPassword("802");
userDao.updateUser(user);
System.out.println("修改成功");
//删除数据
userDao.deleteUser(1);
System.out.println("删除成功");
}
}
- Mybatis -- Mybatis整合Spring
- 【Mybatis】Mybatis整合spring
- 【Spring+Mybatis】Spring整合Mybatis
- MyBatis-----2、MyBatis整合Spring
- Spring整合Mybatis
- spring整合myBatis
- MyBatis-Spring框架整合
- MyBatis+Spring整合示例
- MyBatis+Spring整合示例
- MyBatis+Spring整合方案
- spring + struts2 + mybatis整合
- Spring整合Mybatis
- Mybatis整合Spring
- Spring Mybatis 整合
- spring整合MyBatis
- Mybatis整合Spring
- MyBatis+Spring整合示例
- maven+spring+mybatis整合
- 听见丨厦门现共享单车坟墓 京东:将为在北京清退租户行动中受影响员工提供关怀
- 微信小程序开发。
- 总有个瞬间,让你下定决心踹掉这份工作!
- 极大极小搜索
- 2017-11-28
- Mybatis+Spring整合
- 哈希表(散列表)原理详解
- jquery 对 Json 的各种遍历
- CentOS7安装GnomeUI图形界面
- xgboost使用
- Linux进程间通信
- python学习总结---for循环
- 深度学习5:python实现三层神经网络
- Android Studio生成签名文件AND用正式签名进行调试