项目结构:(java项目)
导入jar包:
主要代码:
1.创建一个pojo
package cn.xxs.pojo;
import java.util.Date;
import java.util.List;
/**
* 学生实体类
* @author xxs
*/
public class Student {
private Integer studentId;//学生编号
private String studentName;//学生姓名
private Integer age;//年龄
private String studentNo;//学号
private Date birthDay;//生日
public Student() {
super();
// TODO Auto-generated constructor stub
}
public Student(Integer studentId, String studentName, Integer age, String studentNo, Date birthDay) {
super();
this.studentId = studentId;
this.studentName = studentName;
this.age = age;
this.studentNo = studentNo;
this.birthDay = birthDay;
}
public Integer getStudentId() {
return studentId;
}
public void setStudentId(Integer studentId) {
this.studentId = studentId;
}
public String getStudentName() {
return studentName;
}
public void setStudentName(String studentName) {
this.studentName = studentName;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getStudentNo() {
return studentNo;
}
public void setStudentNo(String studentNo) {
this.studentNo = studentNo;
}
public Date getBirthDay() {
return birthDay;
}
public void setBirthDay(Date birthDay) {
this.birthDay = birthDay;
}
@Override
public String toString() {
return "Student [studentId=" + studentId + ", studentName=" + studentName + ", age=" + age + ", studentNo="
+ studentNo + ", birthDay=" + birthDay + "]";
}
}
2.创建接口UserMapper.java
package cn.xxs.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Select;
import cn.xxs.pojo.Student;
public interface UserMapper {
/**
* 查询所有数据
* @return
*/
@Select("select * from tblstudent")
public List<Student> selectStudents();
}
3.创建数据库连接资源文件jdbc.properties
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm?characterEncoding=utf-8
jdbc.username=root
jdbc.password=root
4.创建日志文件log4j.properties
log4j.rootLogger=DEBUG, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
5.修改mybatis项目中的SqlMapConfig.xml为
(此配置文件里原有内容交给spring管理)
<?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>
</configuration>
6.创建配置文件bean.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:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.3.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.3.xsd">
<!-- 开启扫描 -->
<context:component-scan base-package="cn.xxs" />
<!-- 加载jdbc配置文件 -->
<context:property-placeholder location="jdbc.properties"/>
<!-- 配置数据源 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<!-- 连接池的最大数据库连接数 -->
<property name="maxActive" value="10"></property>
<!-- 最大空闲数 -->
<property name="minIdle" value="5"></property>
</bean>
<!-- 配置SqlSessionFactionBean -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<!-- 加载mybatis核心配置文件 -->
<property name="configLocation" value="classpath:SqlMapConfig.xml" />
<!-- 配置别名包扫描 -->
<property name="typeAliasesPackage" value="cn.xxs.pojo"></property>
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="cn.xxs.mapper"></property>
</bean>
</beans>
7.写一个测试类
package cn.xxs.test;
import java.io.IOException;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import cn.xxs.mapper.UserMapper;
import cn.xxs.pojo.Student;
public class Test {
/**
* 查询学生信息
* @throws IOException
*/
@org.junit.Test
public void selectStudents() throws IOException {
//通过输入流创建SqlSessionFactory
SqlSessionFactory sqlSessionFactory = (SqlSessionFactory) new ClassPathXmlApplicationContext("bean.xml").getBean("sqlSessionFactory");
//创建SqlSession对象
SqlSession ss = sqlSessionFactory.openSession();
//多态的运用,为掉方法做准备
UserMapper userMapper = ss.getMapper(UserMapper.class);
//查询学生信息
List<Student> list = userMapper.selectStudents();
for(Student stu:list) {
//控制台输出
System.out.println(stu);
}
//释放资源
ss.close();
}
}
ok,我们用junit测试一下,结果如下:
到这里,我们整合成功。