首先声明下:下面大部分代码取自传智播客视频。
以下代码尽供参考,学习之用。若有问题请联系本人。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
建表的语句如下:
应该没什么问题了。