spring整合mybatis基于注解
- 數據庫
/*
Navicat MySQL Data Transfer
?
Source Server ????????: mysql
Source Server Version : 50549
Source Host ??????????: localhost:3306
Source Database ??????: ooxx
?
Target Server Type ???: MYSQL
Target Server Version : 50549
File Encoding ????????: 65001
?
Date: 2019-09-19 13:23:49
*/
?
SET FOREIGN_KEY_CHECKS=0;
?
-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
??`id` int(11) NOT NULL AUTO_INCREMENT,
??`name` varchar(255) DEFAULT NULL,
??`pwd` varchar(255) DEFAULT NULL,
??PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
?
-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES ('1', '康康', '56345');
INSERT INTO `user` VALUES ('2', '喬治大哥', '123456');
INSERT INTO `user` VALUES ('3', 'George', '123456');
INSERT INTO `user` VALUES ('4', '董小康', '123456');
?
- Pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
????<modelVersion>4.0.0</modelVersion>
????<groupId>com.henu</groupId>
????<artifactId>spring_mybatis_xml</artifactId>
????<version>1.0-SNAPSHOT</version>
????<!--導入spring依賴-->
????<dependencies>
????????<!-- spring4.3.2 -->
????????<!-- spring-context -->
????????<dependency>
????????????<groupId>org.springframework</groupId>
????????????<artifactId>spring-context</artifactId>
????????????<version>4.3.2.RELEASE</version>
????????</dependency>
????????<!-- spring-core -->
????????<dependency>
????????????<groupId>org.springframework</groupId>
????????????<artifactId>spring-core</artifactId>
????????????<version>4.3.2.RELEASE</version>
????????</dependency>
????????<!-- spring-beans -->
????????<dependency>
????????????<groupId>org.springframework</groupId>
????????????<artifactId>spring-beans</artifactId>
????????????<version>4.3.2.RELEASE</version>
????????</dependency>
????????<!-- https://mvnrepository.com/artifact/org.springframework/spring-aop -->
????????<dependency>
????????????<groupId>org.springframework</groupId>
????????????<artifactId>spring-aop</artifactId>
????????????<version>4.3.2.RELEASE</version>
????????</dependency>
????????<!-- https://mvnrepository.com/artifact/org.springframework/spring-aspects -->
????????<dependency>
????????????<groupId>org.springframework</groupId>
????????????<artifactId>spring-aspects</artifactId>
????????????<version>4.3.2.RELEASE</version>
????????</dependency>
????????<!--使用AspectJ方式注解需要相應的包 -->
????????<dependency>
????????????<groupId>org.aspectj</groupId>
????????????<artifactId>aspectjrt</artifactId>
????????????<version>1.6.11</version>
????????</dependency>
????????<!--使用AspectJ方式注解需要相應的包 -->
????????<!--
????????<dependency>
????????????<groupId>org.aspectj</groupId>
????????????<artifactId>aspectjweaver</artifactId>
????????????<version>1.6.11</version>
????????</dependency>
????????-->
????????<!-- 添加數據庫連接池?druid -->
????????<dependency>
????????????<groupId>com.alibaba</groupId>
????????????<artifactId>druid</artifactId>
????????????<version>1.1.3</version>
????????</dependency>
????????<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
????????<dependency>
????????????<groupId>mysql</groupId>
????????????<artifactId>mysql-connector-java</artifactId>
????????????<version>5.1.6</version>
????????</dependency>
????????<!-- spring-tx 事務控制-->
????????<dependency>
????????????<groupId>org.springframework</groupId>
????????????<artifactId>spring-tx</artifactId>
????????????<version>4.3.2.RELEASE</version>
????????</dependency>
????????<!-- spring-jdbc -->
????????<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.4.5</version>
????????</dependency>
????????<!-- spring整合mybatis插件包 -->
????????<dependency>
????????????<groupId>org.mybatis</groupId>
????????????<artifactId>mybatis-spring</artifactId>
????????????<version>1.3.2</version>
????????</dependency>
????????<!-- https://mvnrepository.com/artifact/org.springframework/spring-expression -->
????????<dependency>
????????????<groupId>org.springframework</groupId>
????????????<artifactId>spring-expression</artifactId>
????????????<version>4.3.2.RELEASE</version>
????????</dependency>
????????<!-- https://mvnrepository.com/artifact/junit/junit -->
????????<dependency>
????????????<groupId>junit</groupId>
????????????<artifactId>junit</artifactId>
????????????<version>4.12</version>
????????????<scope>compile</scope>
????????</dependency>
????????<!-- pagehelper -->
????????<dependency>
????????????<groupId>com.github.pagehelper</groupId>
????????????<artifactId>pagehelper</artifactId>
????????????<version>5.1.2</version>
????????</dependency>
????????<dependency>
????????????<groupId>org.projectlombok</groupId>
????????????<artifactId>lombok</artifactId>
????????????<version>1.18.0</version>
????????</dependency>
????</dependencies>
</project>
?
- Bean
package com.henu.bean;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
/**
?* @author George
?* @description
?**/
@NoArgsConstructor
@AllArgsConstructor
@Data
public class User {
????private Integer id;
????private String name;
????private String pwd;
}
?
- Dao
package com.henu.dao;
import com.henu.bean.User;
import java.util.List;
/**
?* @author George
?* @description
?**/
public interface UserDao {
????List<User> queryAll();
????int insert(User user);
}
?
- Service
package com.henu.service;
import com.henu.bean.User;
import java.util.List;
public interface UserService {
????List<User> queryAll();
????int insert(User user);
}
?
- serviceImpl
package com.henu.service;
import com.henu.bean.User;
import com.henu.dao.UserDao;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
?* @author George
?* @description
?**/
@Data
@Service
public class UserServiceImpl implements UserService {
????@Autowired
????private UserDao userDao;
????public List<User> queryAll() {
????????List<User> users = userDao.queryAll();
????????return users;
????}
????@Transactional
????public int insert(User user) {
????????return userDao.insert(user);
????}
}
- Resources_db.properties
#db config
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/ooxx
jdbc.username=root
jdbc.password=123456
initialSize=5
minIdle=2
maxActive=10
maxWait=10000
timeBetweenEvictionRunsMillis=60000
minEvictableIdleTimeMillis=300000
testWhileIdle=true
testOnBorrow=true
testOnReturn=false
poolPreparedStatements=true
maxPoolPreparedStatementPerConnectionSize=20
defaultAutoCommit=true
validationQuery=select 1
?
- Resources_sqlMybatisConfig.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>
????<typeAliases>
????????<!-- 設置實體類別名 -->
????????<typeAlias type="com.henu.bean.User" alias="user"></typeAlias>
????</typeAliases>
????<!-- 配置分頁插件 -->
????<plugins>
????????<plugin interceptor="com.github.pagehelper.PageInterceptor">
????????????<!-- 設置合理性分頁 -->
????????????<property name="reasonable" value="true"></property>
????????</plugin>
????</plugins>
</configuration>
?
- Resources_springContext.xml
- Resources_UserDao.xml
?
- 測試SMTest
package com.henu.text;
import com.henu.bean.User;
import com.henu.service.UserService;
import lombok.AllArgsConstructor;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.util.List;
/**
?* @author George
?* @description
?**/
public class SMTest {
????private ClassPathXmlApplicationContext context = null;
????private UserService userService = null;
????@Before
????public void init(){
????????context = new ClassPathXmlApplicationContext("springContext.xml");
????????userService = context.getBean(UserService.class);
????}
????@Test
????public void queryAll(){
????????List<User> users = userService.queryAll();
????????for (User user : users) {
????????????System.out.println(user);
????????}
????}
????@Test
????public void insert(){
????????User user = new User(null,"董小康","123456");
????????userService.insert(user);
????}
????@After
????public void destory(){
????????context.close();
????}
}
?
?
總結
以上是生活随笔為你收集整理的spring整合mybatis基于注解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: spring整合mybatis基于xml
- 下一篇: 无招胜有招之语言基础