主配置文件引入 <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