日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

spring整合mybatis基于xml配置

發布時間:2024/2/28 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spring整合mybatis基于xml配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 數據庫

/*

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 java.util.List;

/**
?* @author George
?* @description
?**/
@Data
public class UserServiceImpl implements UserService {

????private UserDao userDao;

????public List<User> queryAll() {
????????List<User> users = userDao.queryAll();
????????return users;
????}

????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

<?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:p="http://www.springframework.org/schema/p"
???????xmlns:aop="http://www.springframework.org/schema/aop"
???????xmlns:context="http://www.springframework.org/schema/context"
???????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/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd">
????<!--導入屬性文件-->
????<context:property-placeholder location="classpath:db.properties"></context:property-placeholder>
????<!--配置數據源-->
????<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
????????<property name="driverClassName" value="${jdbc.driverClassName}"/>
????????<property name="url" value="${jdbc.url}"/>
????????<property name="username" value="${jdbc.username}"/>
????????<property name="password" value="${jdbc.password}"/>
????????<!-- ******配置數據庫連接池相關信息******* -->
????????<!-- 配置初始化大小、最小、最大 -->
????????<property name="initialSize" value="${initialSize}"/>
????????<property name="minIdle" value="${minIdle}"/>
????????<property name="maxActive" value="${maxActive}"/>
????????<!-- 配置獲取連接等待超時的時間 -->
????????<property name="maxWait" value="${maxWait}"/>
????????<!-- 配置間隔多久才進行一次檢測,檢測需要關閉的空閑連接,單位是毫秒 -->
????????<property name="timeBetweenEvictionRunsMillis" value="${timeBetweenEvictionRunsMillis}"/>
????????<!-- 配置一個連接在池中最小生存的時間,單位是毫秒 -->
????????<property name="minEvictableIdleTimeMillis" value="${minEvictableIdleTimeMillis}"/>
????????<property name="testWhileIdle" value="${testWhileIdle}"/>
????????<!-- 這里建議配置為TRUE,防止取到的連接不可用 -->
????????<property name="testOnBorrow" value="${testOnBorrow}"/>
????????<property name="testOnReturn" value="${testOnReturn}"/>
????????<!-- 打開PSCache,并且指定每個連接上PSCache的大小 -->
????????<property name="poolPreparedStatements" value="${poolPreparedStatements}"/>
????????<property name="maxPoolPreparedStatementPerConnectionSize"
??????????????????value="${maxPoolPreparedStatementPerConnectionSize}"/>
????????<!-- 這里配置提交方式,默認就是TRUE,可以不用配置 -->
????????<property name="defaultAutoCommit" value="${defaultAutoCommit}"/>
????????<!-- 驗證連接有效與否的SQL,不同的數據配置不同 -->
????????<property name="validationQuery" value="${validationQuery}"/>
????</bean>

????<!--配置sqlSessionFactory-->
????<bean name="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
????????<!--配置數據源-->
????????<property name="dataSource" ref="dataSource"></property>
????????<!--加載mybatis的配置文件-->
????????<property name="configLocation" value="classpath:sqlMybatisConfig.xml"></property>
????????<!--加載mybatis的映射文件-->
????????<property name="mapperLocations" value="classpath:mapper/UserDao.xml"></property>
????</bean>

????<!--掃描dao???id未被使用可以不取-->
????<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
????????<!--指定dao接口路徑-->
????????<property name="basePackage" value="com.henu.dao"></property>
????????<!--指定sqlSessionFactory-->
????????<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
????</bean>

????<!--配置service-->
????<bean id="userService" class="com.henu.service.UserServiceImpl">
????????<!--注入userDao ?小細節:這里雖然沒有在上方定義像我們之前所熟知的userDaoid或者name
????????但是當你ref=userDao時并不出錯,原因在于上方的掃描dao-->
????????<property name="userDao" ref="userDao"></property>
????</bean>


????<!--************************************************************-->
????<!--配置事務管理器-->
????<bean name="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
????????<property name="dataSource" ref="dataSource"/>
????</bean>

????<!--配置切入點表達式(業務層)-->
????<aop:config>
????????<aop:advisor advice-ref="userAdvice" pointcut="execution(* com.henu.service.UserServiceImpl.*(..))"></aop:advisor>
????</aop:config>
????<tx:advice id="userAdvice" transaction-manager="txManager">
????????<!--配置事務屬性-->
????????<tx:attributes>
????????????<tx:method name="query*" propagation="REQUIRED" isolation="READ_COMMITTED" read-only="false" rollback-for="java.lang.Exception" timeout="-1"/>
????????????<tx:method name="insert*" propagation="REQUIRED" isolation="READ_COMMITTED" read-only="false" rollback-for="java.lang.Exception" timeout="-1"/>
????????</tx:attributes>
????</tx:advice>

</beans>

?

  • Resources_UserDao.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.henu.dao.UserDao">

????<resultMap id="userMap" type="User">
????????<id property="id" column="id"></id>
????????<result property="name" column="name"></result>
????????<result property="pwd" column="pwd"></result>
????</resultMap>


????<select id="queryAll" resultMap="userMap">
????????select * from user;
????</select>

????<insert id="insert" parameterType="user">
????????insert into user values(#{id},#{name},#{pwd})
????</insert>

</mapper>

?

  • 測試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基于xml配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 99爱视频| 在线电影一区二区三区 | 帮我拍拍漫画全集免费观看 | 国产成人无码www免费视频播放 | 国产午夜视频在线 | 亚洲国产高清在线 | 制服丝袜第二页 | 黑人操亚洲人 | 日日狠狠久久偷偷四色综合免费 | 女儿的朋友在线播放 | 亚洲夜夜爽 | 亚洲激情啪啪 | 黄色复仇草 | 色偷偷网站 | 成人高清免费观看 | 中文字幕第80页 | 欧美14sex性hd摘花 | 日本一区二区精品 | 精品在线视频一区二区 | 国产精品自拍在线观看 | 2019中文字幕在线免费观看 | 精品视频在线一区二区 | 久久老司机精品视频 | 亚洲熟女综合色一区二区三区 | 福利在线免费视频 | 87福利视频 | 国产日皮视频 | 亚洲精品一区二区三区影院忠贞 | 久久久久久婷婷 | 黄色小电影网址 | 男女h网站 | 狠狠干综合 | 日本精品一区二区视频 | 丰满岳妇伦在线播放 | 天堂中文字幕av | 中文字幕在线二区 | 久久婷婷五月综合色国产香蕉 | 亚洲精品aaaaa| 日本污网站 | 成人性生生活性生交全黄 | 青娱乐91 | 久色资源 | 精品人人人| 欧美精品一卡 | 少妇粉嫩小泬喷水视频www | 色福利网 | 欧美日韩中文字幕视频 | 国产区视频在线 | 波多野结衣一区二区三区高清av | 成人在线免费播放视频 | 国色天香网站 | 国产1区2区在线观看 | 九九精品视频免费 | 性生活视屏 | 国产三级av片 | 看黄色的网站 | av免费观看在线 | 日韩视频一区二区在线观看 | 国产亚洲美女精品久久久2020 | 欧美黄色性生活 | 久久久无码人妻精品一区 | 免费黄视频网站 | 欧美性猛交xx | 黄色a毛片 | 中文字幕第12页 | 91看片淫黄大片 | 在线日韩亚洲 | 成人性视频网 | 国产免费观看视频 | 九色porny自拍视频 | 亚洲综合激情小说 | 黄瓜视频91 | 亚洲国产精品网站 | 美国少妇在线观看免费 | 少妇婷婷| 蜜桃精品久久久久久久免费影院 | 成人毛片在线免费观看 | 亚洲最大在线观看 | 欧美黄色一级 | 国产大学生自拍视频 | 国产高清免费av | 特黄特色免费视频 | 黄色片aaaa | 国产成人精品视频在线观看 | 男女视频免费观看 | 丁香花电影免费播放在线观看 | 蜜桃视频在线入口www | 国产精品久久久一区 | 喷水在线观看 | 一级黄毛片 | 日韩高清免费观看 | 亚洲欧洲免费视频 | 久久爱综合| 日韩在线观看视频免费 | 少妇的性事hd| 黄色在线播放视频 | 国产成人亚洲一区二区 | 国产偷国产偷av亚洲清高 | 欧美片一区二区三区 |