目录
测试例子:从myscoremanage数据库中查找course表
一.在pom.xml文件中添加相应的依赖
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.4</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.21</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.7.25
前面两个依赖为必须品
二.配置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>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/myscoremanage?useUnicode=true&characterEncoding=utf-8"/>
<property name="username" value=""/>
<property name="password" value=""/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mapper/VideoMapper.xml"/>
</mappers>
</configuration>
连接映射文件
<mapper resource="mapper/VideoMapper.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= "org.mybatis.example.Dao.CourseMapper">
<select id="selectById" resultType="org.mybatis.example.domain.Course">
select * from course where id = #{course_id}
</select>
</mapper>
<mapper namespace= "org.mybatis.example.Dao.CourseMapper">与Dao层接口路径一致
<select id="selectById" resultType="org.mybatis.example.domain.Course">
与domain层实体类接口一致
四.创建接口放在Dao层
package org.mybatis.example.Dao;
import org.apache.ibatis.annotations.Param;
import org.mybatis.example.domain.Course;
public interface CourseMapper {
Course selectById(@Param("course_id") int courseId);
}
五.创建 实体类放在domain层
代码如下
package org.mybatis.example.domain;
public class Course {
//基本属性
private int id;
private String courseid;
private String coursename;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getCourseid() {
return courseid;
}
public void setCourseid(String courseid) {
this.courseid = courseid;
}
public String getCoursename() {
return coursename;
}
public void setCoursename(String coursename) {
this.coursename = coursename;
}
@Override
public String toString() {
return "Course{" +
"id=" + id +
", courseid='" + courseid + '\'' +
", coursename='" + coursename + '\'' +
'}';
}
}
注意:需要建立toString函数,否则在测试的时候打印出来的是地址
六.测试
测试参考
测试例子:从myscoremanage数据库中查找course表
代码如下
package org.mybatis.example;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.mybatis.example.Dao.CourseMapper;
import org.mybatis.example.domain.Course;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class SqlSessionDemo {
public static void main(String[] args) throws IOException {
String resouce="config/config.xml";
InputStream inputStream= Resources.getResourceAsStream(resouce);
SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
try{
SqlSession sqlSession=sqlSessionFactory.openSession();
CourseMapper courseMapper=sqlSession.getMapper(CourseMapper.class);
Course course=courseMapper.selectById(7);
System.out.println(course);
sqlSession.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
在course表中查找id为7的课程信息
执行结果
代码分析
package org.mybatis.example; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.mybatis.example.Dao.CourseMapper; import org.mybatis.example.domain.Course; import java.io.IOException; import java.io.InputStream; import java.util.List; public class SqlSessionDemo { public static void main(String[] args) throws IOException { String resouce="config/config.xml"; 读取配置文件 InputStream inputStream= Resources.getResourceAsStream(resouce); 构建Session工厂 SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream); try{ 获取session文件 SqlSession sqlSession=sqlSessionFactory.openSession(); CourseMapper courseMapper=sqlSession.getMapper(CourseMapper.class); Course course=courseMapper.selectById(7); System.out.println(course); sqlSession.close(); }catch(Exception e){ e.printStackTrace(); } } }