目录结构
下面是相关文件的代码
jdbc.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/taotao
jdbc.username=root
jdbc.password=kidcools
log4j.properties
log4j.rootLogger=debug,stdout,logfile
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %F %p %m%n
log4j.logger.com.ibatis=DEBUG
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
核心的配置文件
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-4.0.xsd">
<!-- 引入配置文件 -->
<context:property-placeholder location="jdbc.properties"/>
<!-- 配置数据源 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driver}"></property>
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
<!-- 配置sqlSession工厂 -->
<bean id="sqlSessionFatory" class="org.mybatis.spring.SqlSessionFactoryBean" >
<property name="configLocation" value="classpath:mybatis/sqlMapConfig.xml"></property>
<property name="dataSource" ref="dataSource"></property>
</bean>
<bean id="userDao" class="com.kidcools.ssm.dao.UserDao">
<property name="sqlSessionFactory" ref="sqlSessionFatory"></property>
</bean>
</beans>
sqlMapConfig.xml -----myBatis的配置文件
<?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>
<!-- <settings>
开启延时加载 取消激进加载
<setting name="lazyLoadingEnabled" value="true"/>
<setting name="aggressiveLazyLoading" value="false"/>
<setting name="cacheEnable" value="true"/>
</settings>
-->
<mappers>
<!-- <mapper resource="mapper0/tbUser.xml"/>
<mapper resource="com/kidcools/myBatis/pojo/TbUserMapper.xml"/>
<mapper url="file:\\\d:experience.xml"/>
<mapper class=""/>
<mapper class="com.kidcools.myBatis.dao.UserMapper"/> -->
<!-- <package name="com.kidcools.myBatis.dao"/> -->
<mapper resource="mybatis/mapper/userMapper.xml"/>
</mappers>
</configuration>
userMapper.xml 注意;:在没有遵循myBatis mapper代理的开发么试下 userMapper.xml 的映射文件 可以随意名称 放在任何目录下 只需在sqlMpConfig'.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="userMapper">
<select id="findUsers" resultType="com.kidcools.ssm.pojo.TbUser">
select * from Tb_user;
</select>
</mapper>
至此所有的配置文件都基本完成 下面是java代码的调用
UserDao.java
package com.kidcools.ssm.dao;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import org.mybatis.spring.support.SqlSessionDaoSupport;
import com.kidcools.ssm.pojo.TbUser;
public class UserDao extends SqlSessionDaoSupport implements IuserDao {
/**
* 查询所有的用户信息
*/
@Override
public List<TbUser> findUsers() throws Exception {
SqlSession sqlSession = getSqlSession();
List<TbUser> users = sqlSession.selectList("userMapper.findUsers");
return users;
}
}
junitTest 测试
public class SsmTest {
@Test
public void testSSM() throws Exception{
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
/*IuserDao userDao = (IuserDao)context.getBean("userDao");*/
IuserDao userDao = context.getBean(IuserDao.class);
List<TbUser> users = userDao.findUsers();
System.out.println(users);
}
}