中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

spring中怎么集成mybatis

發布時間:2021-06-18 16:47:18 來源:億速云 閱讀:151 作者:Leah 欄目:大數據

這篇文章給大家介紹spring中怎么集成mybatis,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

mysql配置文件spring-jdbc.properties:

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8
jdbc.username=test
jdbc.password=test
jdbc.filters=stat
jdbc.maxActive=800
jdbc.initialSize=5
jdbc.maxWait=60000
jdbc.minIdle=5
jdbc.timeBetweenEvictionRunsMillis=60000
jdbc.minEvictableIdleTimeMillis=36000
jdbc.validationQuery=SELECT 'x'
jdbc.testWhileIdle=true
jdbc.testOnBorrow=false
jdbc.testOnReturn=false
jdbc.poolPreparedStatements=true
jdbc.maxPoolPreparedStatementPerConnectionSize=50

spring-mybatis.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:jee="http://www.springframework.org/schema/jee"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:aop="http://www.springframework.org/schema/aop"
	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/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"
	default-lazy-init="true">
	<description>Spring Mybatis</description>

	<bean
		class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor" />
	<context:property-placeholder
		location="classpath*:config/spring/spring-jdbc.properties" />
	<!-- 配置 druid數據庫連接池mybaitis -->
	<bean id="dataSource"
		class="com.alibaba.druid.pool.DruidDataSource" init-method="init"
		destroy-method="close">
		<property name="url" value="${jdbc.newUrl}" />
		<property name="username" value="${jdbc.newUsername}" />
		<property name="password" value="${jdbc.newPassword}" />
		<property name="filters" value="${jdbc.filters}" />
		<property name="maxActive" value="${jdbc.maxActive}" />
		<property name="initialSize" value="${jdbc.initialSize}" />
		<property name="maxWait" value="${jdbc.maxWait}" />
		<property name="minIdle" value="${jdbc.minIdle}" />
		<property name="timeBetweenEvictionRunsMillis"
			value="${jdbc.timeBetweenEvictionRunsMillis}" />
		<property name="minEvictableIdleTimeMillis"
			value="${jdbc.minEvictableIdleTimeMillis}" />
		<property name="validationQuery"
			value="${jdbc.validationQuery}" />
		<property name="testWhileIdle" value="${jdbc.testWhileIdle}" />
		<property name="testOnBorrow" value="${jdbc.testOnBorrow}" />
		<property name="testOnReturn" value="${jdbc.testOnReturn}" />
		<property name="poolPreparedStatements"
			value="${jdbc.poolPreparedStatements}" />
		<property name="maxPoolPreparedStatementPerConnectionSize"
			value="${jdbc.maxPoolPreparedStatementPerConnectionSize}" />
	</bean>


	<!-- sqlsession factory 掃描com/test包內任意dao/mapper包內所有xml文件 -->
	<bean id="sqlSessionFactory"
		class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="mapperLocations"
			value="classpath*:com/test/**/dao/mapper/*.xml" />
	</bean>
	<bean id="sqlSession"
		class="org.mybatis.spring.SqlSessionTemplate">
		<constructor-arg index="0" ref="sqlSessionFactory" />
	</bean>
	
	<!-- mapper接口掃描 掃描任意包dao內接口 -->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="basePackage" value="**.dao" />
		<property name="sqlSessionTemplateBeanName"
			value="sqlSession"></property>
	</bean>

	<!-- 定義事務管理 -->
	<bean id="transactionManager"
		class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource"></property>
	</bean>

	<!-- 注解方式配置事物 在service中@Transactional -->
	<tx:annotation-driven
		transaction-manager="transactionManager"></tx:annotation-driven>

	<!-- 攔截器方式配置事物 -->
	<tx:advice id="transactionAdvice"
		transaction-manager="transactionManager">
		<tx:attributes>
			<tx:method name="add*" propagation="REQUIRED" />
			<tx:method name="save*" propagation="REQUIRED" />
			<tx:method name="insert*" propagation="REQUIRED" />
			<tx:method name="append*" propagation="REQUIRED" />
			<tx:method name="init" propagation="REQUIRED" />
			<tx:method name="update*" propagation="REQUIRED"
				isolation="SERIALIZABLE" rollback-for="Exception" />
			<tx:method name="modify*" propagation="REQUIRED" />
			<tx:method name="edit*" propagation="REQUIRED" />
			<tx:method name="delete*" propagation="REQUIRED" />
			<tx:method name="remove*" propagation="REQUIRED" />
			<tx:method name="delAndInit" propagation="REQUIRED" />
			<tx:method name="get*" propagation="REQUIRED"
				read-only="true" />
			<tx:method name="find*" propagation="REQUIRED"
				read-only="true" />
			<tx:method name="load*" propagation="REQUIRED"
				read-only="true" />
			<tx:method name="search*" propagation="REQUIRED"
				read-only="true" />
			<tx:method name="datagrid*" propagation="REQUIRED"
				read-only="true" />
			<tx:method name="*" propagation="REQUIRED" />
		</tx:attributes>
	</tx:advice>

</beans>

在spring上下文的配置文件引用mybatis配置文件:

    <import resource="spring-mybatis.xml" />

在maven的pom.xml增加打包的配置,保證打包可以將mapper.xml包含進來:

		<resources>
			<resource>
				<directory>src/main/java</directory>
				<includes>
					<include>**/*.xml</include>
				</includes>
			</resource>
			<resource>
				<directory>src/main/resources</directory>
				<includes>
					<include>**/*</include>
				</includes>
			</resource>
		</resources>

mapper接口測試:

文件位置截圖:

spring中怎么集成mybatis

TestMapper.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.test.mybatis.dao.TestMapper">

  <select id="getCount" resultType="int">
	    SELECT COUNT(1) FROM t1
  </select>
</mapper>

TestMapper接口:

package com.test.mybatis.dao;

public interface TestMapper {
	int getCount();
}

測試代碼:

package com.test.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import com.test.mybatis.dao.TestMapper;

@RestController
@RequestMapping(value = "/test")
public class TestController {
	
	private static final Logger logger = LoggerFactory.getLogger(TestController.class);
	
	@Autowired TestMapper testMapper;
	
	@RequestMapping(value= "/test", method = RequestMethod.GET)
	public Object test(HttpServletRequest request, HttpServletResponse response
			) {
		int count = testMapper.getCount();
		logger.info("test:{}", count );
		return count;
	}
}

結果:

spring中怎么集成mybatis

關于spring中怎么集成mybatis就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

西乌珠穆沁旗| 神木县| 海兴县| 南雄市| 襄樊市| 曲松县| 车险| 宜宾市| 万载县| 张北县| 凤山市| 吴川市| 普兰县| 山西省| 从江县| 花莲县| 大石桥市| 珠海市| 金沙县| 承德县| 军事| 杭州市| 连云港市| 漯河市| 上林县| 兴隆县| 仙游县| 通辽市| 栾川县| 稷山县| 定襄县| 阿拉善盟| 普洱| 监利县| 淮南市| 隆林| 溆浦县| 虹口区| 新巴尔虎左旗| 阿拉善右旗| 巧家县|