主配置文件引入
<import resource="classpath*:my-dao.xml"/>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-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/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/xmh?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&connectTimeout=60000&sockeTimeout=60000"/>
<!--<property name="driverClassName" value="net.sf.log4jdbc.DriverSpy"/>-->
<!--<property name="url" value="jdbc:log4jdbc:mysql://127.0.0.1:3306/xmh?characterEncoding=UTF-8&autoReconnect=true&connectTimeout=60000&sockeTimeout=60000"/>-->
<property name="username" value="root"/>
<property name="password" value="admin"/>
<!--配置初始化大小,最大,最小-->
<property name="maxActive" value="80"/>
<property name="initialSize" value="5"/>
<property name="minIdle" value="5"/>
<!--获取连接等待超时时间-->
<property name="maxWait" value="10000"/>
<property name="queryTimeout" value="300"/>
<property name="transactionQueryTimeout" value="30"/>
<!--检测需要关闭的空闲连接,多长时间检测一次,单位毫秒-->
<property name="timeBetweenEvictionRunsMillis" value="600000"/>
<!--一个连接在池中最小生存时间,单位毫秒-->
<property name="minEvictableIdleTimeMillis" value="300000"/>
<property name="validationQuery" value="SELECT ‘X‘"/>
<property name="testWhileIdle" value="true"/>
<property name="testOnBorrow" value="true"/>
<property name="testOnReturn" value="true"/>
<property name="removeAbandoned" value="true"/> <!--超过时间限制是否回收-->
<property name="removeAbandonedTimeout" value="180"/> <!--超时时间,单位秒-->
<property name="logAbandoned" value="true"/> <!--关闭时输出日志-->
<property name="poolPreparedStatements" value="false"/>
<!--<property name="filters" value=""/>-->
<!--默认只读-->
<property name="defaultReadOnly" value="false"/>
<!--<property name="keepAlive" value="true"/>-->
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="configLocation" value="classpath:ibatis/global-config.xml"/>
<!--<property name="mapperLocations">-->
<!--<list>-->
<!--<value>classpath*:ibatis/t_user.xml</value>-->
<!--</list>-->
<!--</property>-->
</bean>
<!--<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">-->
<!--<property name="dataSource" ref="dataSource"/>-->
<!--</bean>-->
</beans>
<?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>
<package name="cn.com.cn.com.mvc.dao"/>
</typeAliases>
<mappers>
<mapper resource="ibatis/t_user.xml"></mapper>
</mappers>
</configuration>
<?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="cn.com.cn.com.mvc.dao.TUser">
<resultMap id="BaseResultMap"
type="cn.com.cn.com.mvc.dao.TUser">
<id column="id" property="id" jdbcType="VARCHAR" />
<result column="name" property="name" jdbcType="VARCHAR" />
<result column="name1" property="name1" jdbcType="VARCHAR" />
</resultMap>
<resultMap id="BasePoResultMap"
type="cn.com.cn.com.mvc.dao.TUser">
<id column="id" property="id" jdbcType="VARCHAR" />
<result column="name" property="name" jdbcType="VARCHAR" />
<result column="name1" property="name1" jdbcType="VARCHAR" />
</resultMap>
<sql id="Base_Column_List">
id,name1,name
</sql>
<select id="query" resultMap="BaseResultMap" parameterType="java.util.Map">
select
<include refid="Base_Column_List" />
from tbl_user
where id = #{id,jdbcType=VARCHAR}
</select>
<sql id="comm_where">
<where>
<if test="serila != null ">
AND SERILA = #{serila,jdbcType=VARCHAR}
</if>
<if test="accountType != null ">
AND ACCOUNT_TYPE = #{accountType,jdbcType=VARCHAR}
</if>
</where>
</sql>
<select id="queryObj" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from tbl_user
<include refid="comm_where"></include>
</select>
<select id="queryPo" resultMap="BasePoResultMap">
select
<include refid="Base_Column_List" />
from tbl_user
<include refid="comm_where"></include>
</select>
<select id="queryList" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from tbl_user
<include refid="comm_where"></include>
order by up_time desc
</select>
</mapper>
@Repository("myDaoTest")
public class MyDaoTest {
@Autowired
@Qualifier(value = "sqlSessionFactory")
private SqlSessionFactory factory;
public List<TUser> query(){
SqlSession session = factory.openSession();
try{
Map map = new HashMap<String,String>();
map.put("id","1");
return session.selectList("query",map);
}finally{
session.close();
}
}
}
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.15</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.31</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.8</version>
</dependency>
原文:https://www.cnblogs.com/xingminghui111/p/13251901.html