在项目中添加spring和mybatis的jar包依赖。配置三个文件,分别如下:
#db-config.properties属性文件 db.driverName=com.mysql.jdbc.Driver db.url=jdbc:mysql://localhost:3306/test1?useUnicode=true&characterEncoding=UTF-8 db.username=root db.pwd=123456 db.maxPoolSize=500 db.maxIDEL=5000 ----------------------------------------------------------------- #mybatis-config.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> <mappers> <!--声明映射的包路径--> <package name="com.itszt.dao"></package> </mappers> </configuration> ----------------------------------------------------------------- #spring-config.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:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!--设置扫描的包--> <context:component-scan base-package="com.itszt.dao,com.itszt.service"></context:component-scan> <!--引入连接池配置文件--> <context:property-placeholder location="classpath:config/db-config.properties"></context:property-placeholder> <!--配置C3P0连接池--> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="${db.driverName}"></property> <property name="jdbcUrl" value="${db.url}"></property> <property name="user" value="${db.username}"></property> <property name="password" value="${db.pwd}"></property> <property name="maxPoolSize" value="${db.maxPoolSize}"></property> <property name="maxIdleTime" value="${db.maxIDEL}"></property> </bean> <!--配置SqlSessionFactory--> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"></property> <property name="configLocation" value="classpath:config/mybatis-config.xml"></property> <property name="typeAliasesPackage" value="com.itszt.domain"></property> </bean> <!--以配置文件的形式配置一个userDaoImpl,这一步可以替代mybatis-config.xml中的<mappers>配置--> <!--<bean id="userDao" class="com.itszt.dao.UserDaoImpl"> <property name="sqlSessionFactory" ref="sqlSessionFactory"></property> </bean>--> </beans>
接下来是操作映射的接口和文件:
package com.itszt.dao; import com.itszt.domain.User; /** * 接口,实体类User此处略 */ public interface UserDao { public User findUserByID(int uid); } ------------------------------------------------------------------ #UserDao.xml文件,与UserDao在同一包下 <?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.itszt.dao.UserDao"> <select id="findUserByID" parameterType="int" resultType="user"> SELECT * FROM user WHERE uid=#{uid} </select> </mapper>
测试类:
import com.itszt.dao.UserDao; import com.itszt.domain.User; import com.itszt.service.UserService; import javafx.application.Application; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; /** * 测试类 */ public class Test { public static void main(String[] args) { ApplicationContext applicationContext=new ClassPathXmlApplicationContext("config/spring-config.xml"); UserDao userDao = applicationContext.getBean("userDao", UserDao.class); User userByID = userDao.findUserByID(2); System.out.println("userByID = " + userByID); } }