首先声明下:下面大部分代码取自传智播客视频。
以下代码尽供参考,学习之用。若有问题请联系本人。qq362601125
首先整个工程的结构图如下所示:
Mybatis一共有两个配置文件:myBatis-config.xml和实体类对应的XXXMapper.xml文件(这里以StudentMapper.xml为例)
Mybatis文件存放在src目录下
StudentMapper.xml和实体类Student在同一个目录下
整体的结构就是这个样子。
首先创建实体类Student:
package com.robert.Bean;
public class Student
{
private int id;
private String name;
private int age;
private String birthday;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public String toString() {
return "id="+id+"\tname="+name+"\tage="+age+"\tbirthday="+birthday;
}
}
Student对应的StudentMapper.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="com.robert.Bean.Student">
<select id="selectStudents" resultType="com.robert.Bean.Student">
select * from Student;
</select>
</mapper>
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>
<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/test"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/robert/Bean/StudentMapper.xml"/>
</mappers>
</configuration>
测试程序如下:
package com.robert.test.Student;
import java.io.IOException;
import java.io.Reader;
import java.util.List;
import org.apache.ibatis.io.*;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import com.robert.Bean.*;
public class StudentTest
{
public static void main(String[] args)
{
String resource = "myBatis-config.xml";
Reader reader = null;
try {
reader = Resources.getResourceAsReader(resource);
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
SqlSession session = sessionFactory.openSession();
List<Student> students = session.selectList("selectStudents");
for(Student stu:students)
{
System.out.println(stu);
}
reader.close();
session.close();
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
!!!
注意:在工程中要加入mysql驱动和mybatis.jar
建表的语句如下:
应该没什么问题了。
javaQQ交流群3728967,欢迎加入。