D:\code\smvc\mybatis-two>tree /f 卷 软件 的文件夹 PATH 列表 卷序列号为 0000-CD08 D:. │ .classpath │ .project │ pom.xml │ ├─.settings │ org.eclipse.core.resources.prefs │ org.eclipse.jdt.core.prefs │ org.eclipse.m2e.core.prefs │ ├─sql │ create.sql │ └─src ├─main │ ├─java │ │ └─com │ │ └─laolang │ │ ├─domain │ │ │ Address.java │ │ │ AddressMapper.xml │ │ │ Course.java │ │ │ CourseMapper.xml │ │ │ Person.java │ │ │ PersonMapper.xml │ │ │ Student.java │ │ │ StudentMapper.xml │ │ │ Tutor.java │ │ │ TutorMapper.xml │ │ │ │ │ ├─mapper │ │ │ AddressMapper.java │ │ │ CourseMapper.java │ │ │ PersonMapper.java │ │ │ StudentMapper.java │ │ │ TutorMapper.java │ │ │ │ │ ├─services │ │ │ AddressService.java │ │ │ CourseService.java │ │ │ PersonService.java │ │ │ StudentService.java │ │ │ TutorService.java │ │ │ │ │ └─util │ │ MybatisUtil.java │ │ │ └─resources │ │ jdbc.properties │ │ mybatis-config.xml │ │ │ └─com │ └─laolang │ └─domain │ AddressMapper.xml │ CourseMapper.xml │ PersonMapper.xml │ StudentMapper.xml │ TutorMapper.xml │ └─test ├─java │ └─com │ └─laolang │ └─services │ AddressServiceTest.java │ CourseServiceTest.java │ PersonServiceTest.java │ StudentServiceTest.java │ TutorServiceTest.java │ └─resources │ jdbc.properties │ mybatis-config.xml │ └─com └─laolang └─domain AddressMapper.xml CourseMapper.xml PersonMapper.xml StudentMapper.xml TutorMapper.xml D:\code\smvc\mybatis-two>
driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/mybatis_study username=root password=root
<?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> <!-- 加载 jdbc properties 文件 --> <properties resource="jdbc.properties" /> <typeAliases> <typeAlias alias="Student" type="com.laolang.domain.Student" /> <typeAlias alias="Address" type="com.laolang.domain.Address" /> <typeAlias alias="Person" type="com.laolang.domain.Person" /> <typeAlias alias="Course" type="com.laolang.domain.Course" /> <typeAlias alias="Tutor" type="com.laolang.domain.Tutor" /> </typeAliases> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <dataSource type="POOLED"> <property name="driver" value="${driver}" /> <property name="url" value="${url}" /> <property name="username" value="${username}" /> <property name="password" value="${password}" /> </dataSource> </environment> </environments> <mappers> <mapper resource="com/laolang/domain/StudentMapper.xml" /> <mapper resource="com/laolang/domain/AddressMapper.xml" /> <mapper resource="com/laolang/domain/PersonMapper.xml" /> <mapper resource="com/laolang/domain/CourseMapper.xml" /> <mapper resource="com/laolang/domain/TutorMapper.xml" /> </mappers> </configuration>
package com.laolang.domain; public class Student { public Student() { super(); } public Student(String name, int age, String sex) { super(); this.name = name; this.age = age; this.sex = sex; } public Student(int id, String name, int age, String sex) { super(); this.id = id; this.name = name; this.age = age; this.sex = sex; } @Override public String toString() { return "Student [id=" + id + ", name=" + name + ", age=" + age + ", sex=" + sex + "]"; } 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 getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } private int id; private String name; private int age; private String sex; }
<?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.laolang.mapper.StudentMapper"> <resultMap type="Student" id="StudentResult"> <id property="id" column="id"/> <result property="name" column="name"/> <result property="age" column="age"/> <result property="sex" column="sex"/> </resultMap> <select id="selectAll" resultMap="StudentResult"> select id,name,age,sex from student </select> <select id="selectById" parameterType="int" resultType="Student"> select id,name,age,sex from student where id = #{id} </select> <select id="selectByName" parameterType="String" resultType="Student"> select id,name,age,sex from student where name = #{name} </select> <insert id="insertStudent" parameterType="Student" useGeneratedKeys="true" keyProperty="id"> insert into student ( name, age, sex ) values(#{name},#{age},#{sex}) </insert> <update id="updateStudent" parameterType="Student"> update student set name = #{name} , age = #{age} , sex = #{age} where id = #{id} </update> <delete id="deleteStudentById" parameterType="int"> delete from student where id = #{id} </delete> </mapper>
package com.laolang.domain; public class Address { public Address() { super(); } public Address(String street, String city, String zip) { super(); this.street = street; this.city = city; this.zip = zip; } public Address(int id, String street, String city, String zip) { super(); this.id = id; this.street = street; this.city = city; this.zip = zip; } @Override public String toString() { return "Address [id=" + id + ", street=" + street + ", city=" + city + ", zip=" + zip + "]"; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getStreet() { return street; } public void setStreet(String street) { this.street = street; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getZip() { return zip; } public void setZip(String zip) { this.zip = zip; } private int id; private String street; private String city; private String zip; }
<?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.laolang.mapper.AddressMapper"> <resultMap type="Address" id="AddressResult"> <id property="id" column="addr_id" /> <result property="street" column="addr_street" /> <result property="city" column="addr_city" /> <result property="zip" column="addr_zip" /> </resultMap> <select id="findAddresssById" parameterType="int" resultType="Address"> select id,street,city,zip from address where id = #{id} </select> </mapper>
package com.laolang.domain; public class Person { public Person() { super(); } public Person(String name, String email, String phone, Address address) { super(); this.name = name; this.email = email; this.phone = phone; this.address = address; } public Person(int id, String name, String email, String phone, Address address) { super(); this.id = id; this.name = name; this.email = email; this.phone = phone; this.address = address; } @Override public String toString() { return "Person [id=" + id + ", name=" + name + ", email=" + email + ", phone=" + phone + "]"; } 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 String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public Address getAddresss() { return address; } public void setAddresss(Address addresss) { this.address = addresss; } private int id; private String name; private String email; private String phone; private Address address; }
<?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.laolang.mapper.PersonMapper"> <resultMap type="Address" id="AddressResult"> <id property="id" column="id" /> <result property="street" column="street" /> <result property="city" column="city" /> <result property="zip" column="zip" /> </resultMap> <resultMap type="Person" id="PersonWithAddressResult"> <id property="id" column="id" /> <result property="name" column="name" /> <result property="email" column="email" /> <result property="phone" column="phone" /> <association property="address" column="addr_id" select="com.laolang.mapper.AddressMapper.findAddresssById" /> </resultMap> <select id="findPersonWithAddress" parameterType="int" resultMap="PersonWithAddressResult"> select id,name,email,phone,addr_id from person where id = #{id} </select> <select id="findPersonById" parameterType="int" resultType="Person"> select id,name,email,phone from person where id = #{id} </select> </mapper>
package com.laolang.domain; import java.util.List; public class Tutor { public Tutor() { super(); } public Tutor(String name, String email, String phone, Address address, List<Course> courses) { super(); this.name = name; this.email = email; this.phone = phone; this.address = address; this.courses = courses; } public Tutor(int id, String name, String email, String phone, Address address, List<Course> courses) { super(); this.id = id; this.name = name; this.email = email; this.phone = phone; this.address = address; this.courses = courses; } @Override public String toString() { return "Tutor [id=" + id + ", name=" + name + ", email=" + email + ", phone=" + phone + "]"; } 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 String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public Address getAddress() { return address; } public void setAddress(Address address) { this.address = address; } public List<Course> getCourses() { return courses; } public void setCourses(List<Course> courses) { this.courses = courses; } private int id; private String name; private String email; private String phone; private Address address; private List<Course> courses; }
<?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.laolang.mapper.TutorMapper"> <resultMap type="Address" id="AddressResult"> <id property="id" column="id" /> <result property="street" column="street" /> <result property="city" column="city" /> <result property="zip" column="zip" /> </resultMap> <resultMap type="Course" id="CourseResult"> <id property="id" column="cid" /> <result property="name" column="cname" /> <result property="description" column="description" /> <result property="startDate" column="start_date" jdbcType="DATE" javaType="java.util.Date"/> <result property="endDate" column="end_date" jdbcType="DATE" javaType="java.util.Date"/> <result property="tutorId" column="tutor_id" /> </resultMap> <resultMap type="Tutor" id="TutorResult"> <id property="id" column="tid" /> <result property="name" column="tname" /> <result property="email" column="email" /> <result property="phone" column="phone" /> <collection property="courses" resultMap="CourseResult" /> </resultMap> <select id="findTutorWithCourseById" parameterType="int" resultMap="TutorResult"> select t.tid,t.tname,email,phone,c.cid,c.cname,c.description,start_date,end_date from tutor t left outer join course c on t.tid = c.tutor_id where t.tid = #{id}; </select> </mapper>
package com.laolang.domain; import java.util.Date; public class Course { public Course() { super(); } public Course(String name, String desc, Date startDate, Date endDate, int tutorId) { super(); this.name = name; this.description = desc; this.startDate = startDate; this.endDate = endDate; this.tutorId = tutorId; } public Course(int id, String name, String description, Date startDate, Date endDate, int tutorId) { super(); this.id = id; this.name = name; this.description = description; this.startDate = startDate; this.endDate = endDate; this.tutorId = tutorId; } @Override public String toString() { return "Course [id=" + id + ", name=" + name + ", description=" + description + ", startDate=" + startDate + ", endDate=" + endDate + ", tutorId=" + tutorId + "]"; } 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 String getDesc() { return description; } public void setDesc(String desc) { this.description = desc; } public Date getStartDate() { return startDate; } public void setStartDate(Date startDate) { this.startDate = startDate; } public Date getEndDate() { return endDate; } public void setEndDate(Date endDate) { this.endDate = endDate; } public int getTutorId() { return tutorId; } public void setTutorId(int tutorId) { this.tutorId = tutorId; } private int id; private String name; private String description; private Date startDate; private Date endDate; private int tutorId; }
<?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.laolang.mapper.CourseMapper"> <resultMap type="Course" id="CourseResult"> <id property="id" column="cid" /> <result property="name" column="cname" /> <result property="description" column="description" /> <result property="startDate" column="start_date" jdbcType="DATE" javaType="java.util.Date"/> <result property="endDate" column="end_date" jdbcType="DATE" javaType="java.util.Date"/> <result property="tutorId" column="tutor_id" /> </resultMap> <select id="findCourseById" parameterType="int" resultMap="CourseResult"> select cid,cname,description,start_date,end_date,tutor_id from course where cid = #{id}; </select> </mapper>
package com.laolang.mapper; import java.util.List; import com.laolang.domain.Student; public interface StudentMapper { public List<Student> selectAll(); public Student selectById(int id); public Student selectByName(String name); public void insertStudent(Student student ); public void updateStudent(Student student ); public void deleteStudentById(int id ); }
package com.laolang.mapper; import com.laolang.domain.Address; public interface AddressMapper { public Address findAddresssById( int id ); }
package com.laolang.mapper; import com.laolang.domain.Person; public interface PersonMapper { public Person findPersonWithAddress( int id); public Person findPersonById( int id ); }
package com.laolang.mapper; import com.laolang.domain.Tutor; public interface TutorMapper { public Tutor findTutorWithCourseById( int id ); }
package com.laolang.mapper; import com.laolang.domain.Course; public interface CourseMapper { public Course findCourseById( int id ); }
package com.laolang.services; import java.util.List; import org.apache.ibatis.session.SqlSession; import com.laolang.domain.Student; import com.laolang.mapper.StudentMapper; import com.laolang.util.MybatisUtil; public class StudentService { public List<Student> selectAll() { SqlSession session = MybatisUtil.openSession(); try { StudentMapper studentMapper = session .getMapper(StudentMapper.class); return studentMapper.selectAll(); } finally { session.close(); } } public Student selectById(int id) { SqlSession session = MybatisUtil.openSession(); try { StudentMapper studentMapper = session .getMapper(StudentMapper.class); return studentMapper.selectById(id); } finally { session.close(); } } public Student selectByName(String name) { SqlSession session = MybatisUtil.openSession(); try { StudentMapper studentMapper = session .getMapper(StudentMapper.class); return studentMapper.selectByName(name); } finally { session.close(); } } public void insertStudent(Student stu) { SqlSession session = MybatisUtil.openSession(); try { StudentMapper studentMapper = session .getMapper(StudentMapper.class); studentMapper.insertStudent(stu); session.commit(); } finally { session.close(); } } public void updateStudent(Student student) { SqlSession session = MybatisUtil.openSession(); try { StudentMapper studentMapper = session .getMapper(StudentMapper.class); studentMapper.updateStudent(student); session.commit(); } finally { session.close(); } } public void deleteStudentById(int id) { SqlSession session = MybatisUtil.openSession(); try { StudentMapper studentMapper = session .getMapper(StudentMapper.class); studentMapper.deleteStudentById(id); session.commit(); } finally { session.close(); } } }
package com.laolang.services; import org.apache.ibatis.session.SqlSession; import com.laolang.domain.Address; import com.laolang.mapper.AddressMapper; import com.laolang.util.MybatisUtil; public class AddressService { public Address findAddresssById( int id ){ SqlSession session = MybatisUtil.openSession(); try { AddressMapper addressMapper = session .getMapper(AddressMapper.class); Address address = addressMapper.findAddresssById(id); if( address == null ){ System.out.println("未查询到address!!!"); } return address; } finally { session.close(); } } }
package com.laolang.services; import org.apache.ibatis.session.SqlSession; import com.laolang.domain.Person; import com.laolang.mapper.PersonMapper; import com.laolang.util.MybatisUtil; public class PersonService { public Person findPersonWithAddress( int id ){ SqlSession session = MybatisUtil.openSession(); try { PersonMapper personMapper = session .getMapper(PersonMapper.class); return personMapper.findPersonWithAddress(id); } finally { session.close(); } } public Person findPersonById( int id ){ SqlSession session = MybatisUtil.openSession(); try { PersonMapper personMapper = session .getMapper(PersonMapper.class); return personMapper.findPersonById(id); } finally { session.close(); } } }
package com.laolang.services; import org.apache.ibatis.session.SqlSession; import com.laolang.domain.Tutor; import com.laolang.mapper.TutorMapper; import com.laolang.util.MybatisUtil; public class TutorService { public Tutor findTutorWithCourseById( int id ){ SqlSession session = MybatisUtil.openSession(); try { TutorMapper tutorMapper = session .getMapper(TutorMapper.class); return tutorMapper.findTutorWithCourseById(id); } finally { session.close(); } } }
package com.laolang.services; import org.apache.ibatis.session.SqlSession; import com.laolang.domain.Course; import com.laolang.mapper.CourseMapper; import com.laolang.util.MybatisUtil; public class CourseService { public Course findCourseById( int id ){ SqlSession session = MybatisUtil.openSession(); try { CourseMapper courseMapper = session .getMapper(CourseMapper.class); return courseMapper.findCourseById(id); } finally { session.close(); } } }
package com.laolang.util; import java.io.IOException; import java.io.InputStream; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; public class MybatisUtil { public static SqlSessionFactory getSqlSessionFactory(){ if( null == sqlSessionFactory ){ try { InputStream is = Resources.getResourceAsStream("mybatis-config.xml"); sqlSessionFactory = new SqlSessionFactoryBuilder().build(is); } catch (IOException e) { e.printStackTrace(); } } return sqlSessionFactory; } public static SqlSession openSession(){ return getSqlSessionFactory().openSession(); } private static SqlSessionFactory sqlSessionFactory; }
package com.laolang.services; import java.util.List; import org.junit.BeforeClass; import org.junit.Ignore; import org.junit.Test; import com.laolang.domain.Student; public class StudentServiceTest { @BeforeClass public static void setUp() { studentService = new StudentService(); } // @Ignore @Test public void testSelectAll() { System.out.println("-->查询所有-----------"); List<Student> students = studentService.selectAll(); for (Student stu : students) { System.out.println(stu); } System.out.println("---------------------------\n\n"); } // @Ignore @Test public void testSelectById() { System.out.println("-->通过 id 查询-----------"); Student stu = studentService.selectById(1); System.out.println(stu); System.out.println("---------------------------\n\n"); } @Ignore @Test public void testSelectByName() { System.out.println("-->通过 name 查询-----------"); Student stu = studentService.selectByName("小代码"); System.out.println(stu); System.out.println("---------------------------\n\n"); } @Ignore @Test public void testInsertStudent() { System.out.println("-->插入-----------"); String name = "天涯"; Student stu = new Student(name, 34, "男"); studentService.insertStudent(stu); stu = studentService.selectByName(name); System.out.println(stu); System.out.println("---------------------------\n\n"); } @Ignore @Test public void testUpdateStudent() { System.out.println("-->修改-----------"); Student stu = studentService.selectById(1); System.out.println(); stu.setName("xiaodaima"); studentService.updateStudent(stu); stu = studentService.selectById(1); System.out.println(stu); System.out.println("---------------------------\n\n"); } @Ignore @Test public void testDeleteStudentById() { System.out.println("-->删除-----------"); List<Student> studentList = studentService.selectAll(); for( Student stu : studentList ){ System.out.println(stu); } studentService.deleteStudentById(7); System.out.println("删除后:\n"); studentList = studentService.selectAll(); for( Student stu : studentList ){ System.out.println(stu); } System.out.println("---------------------------\n\n"); } private static StudentService studentService; }
package com.laolang.services; import org.junit.BeforeClass; import org.junit.Ignore; import org.junit.Test; import com.laolang.domain.Address; public class AddressServiceTest { @BeforeClass public static void setUp(){ addressService = new AddressService(); } // @Ignore @Test public void testFindAddressById(){ System.out.println("-->通过ID查询地址------"); Address address = addressService.findAddresssById(1); System.out.println(address.toString()); System.out.println("---------------------\n\n"); } private static AddressService addressService; }
package com.laolang.services; import org.junit.BeforeClass; import org.junit.Ignore; import org.junit.Test; import com.laolang.domain.Address; import com.laolang.domain.Person; import com.laolang.services.PersonService; public class PersonServiceTest { @BeforeClass public static void setUp(){ personService = new PersonService(); } // @Ignore @Test public void testFindPersonWithAddress(){ System.out.println("-->查询带地址的信息-----------"); Person p = personService.findPersonWithAddress(1); Address a = p.getAddresss(); System.out.println("Person:"+p.toString()+" Address:" + a.toString()); System.out.println("-------------------------"); } // @Ignore @Test public void testFindPersonById(){ System.out.println("-->查询信息-----------"); Person p = personService.findPersonById(1); System.out.println("Person:"+p.toString()); System.out.println("-------------------------"); } private static PersonService personService; }
package com.laolang.services; import org.junit.BeforeClass; import org.junit.Ignore; import org.junit.Test; import com.laolang.domain.Course; public class CourseServiceTest { @BeforeClass public static void setUp(){ courseService = new CourseService(); } // @Ignore @Test public void testFindCourseById(){ System.out.println("-->根据ID查询课程信息---------"); Course course = courseService.findCourseById(3); System.out.println(course); System.out.println("-------------------------"); } private static CourseService courseService; }
package com.laolang.services; import java.util.List; import org.junit.BeforeClass; import org.junit.Ignore; import org.junit.Test; import com.laolang.domain.Course; import com.laolang.domain.Tutor; public class TutorServiceTest { @BeforeClass public static void setUp(){ tutorService = new TutorService(); } // @Ignore @Test public void testFindTutorWithCourseById(){ System.out.println("-->通过ID某教师所讲的课程------"); Tutor tutor = tutorService.findTutorWithCourseById(1); List<Course> courses = tutor.getCourses(); for( Course c : courses ){ System.out.println(tutor.toString() + c.toString()); } System.out.println("---------------------\n\n"); } private static TutorService tutorService; }
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.laolang.mybatis-study</groupId> <artifactId>mybatis-two</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>mybatis-two</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.6</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.2</version> </dependency> </dependencies> </project>
D:\code\smvc\mybatis-two>mvn test [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building mybatis-two 0.0.1-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-resources-plugin:2.4.3:resources (default-resources) @ mybatis-two --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 7 resources [INFO] [INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ mybatis-two --- [INFO] Compiling 16 source files to D:\code\smvc\mybatis-two\target\classes [INFO] [INFO] --- maven-resources-plugin:2.4.3:testResources (default-testResources) @ mybatis-two --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 7 resources [INFO] [INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ mybatis-two --- [INFO] Compiling 5 source files to D:\code\smvc\mybatis-two\target\test-classes [INFO] [INFO] --- maven-surefire-plugin:2.7.2:test (default-test) @ mybatis-two --- [INFO] Surefire report directory: D:\code\smvc\mybatis-two\target\surefire-reports ------------------------------------------------------- T E S T S ------------------------------------------------------- Running com.laolang.services.AddressServiceTest -->通过ID查询地址------ Address [id=1, street=长安街, city=洛阳, zip=123456] --------------------- Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.867 sec Running com.laolang.services.CourseServiceTest -->根据ID查询课程信息--------- Course [id=3, name=linux, description=linux开发, startDate=Sun Jan 03 00:00:00 CST 2010, endDate=Fri Dec 03 00:00:00 CST 2010, tutorId=2] ------------------------- Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.023 sec Running com.laolang.services.PersonServiceTest -->查询信息----------- Person:Person [id=1, name=长生, [email protected], phone=13318188181] ------------------------- -->查询带地址的信息----------- Person:Person [id=1, name=长生, [email protected], phone=13318188181] Address:Address [id=1, street=长安街, city=洛阳, zip=123456] ------------------------- Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.017 sec Running com.laolang.services.StudentServiceTest -->查询所有----------- Student [id=1, name=xiaodaima, age=23, sex=23] Student [id=2, name=laolang, age=23, sex=男] Student [id=3, name=老狼, age=33, sex=男] Student [id=4, name=行者, age=26, sex=男] Student [id=5, name=tianya, age=34, sex=man]] --------------------------- -->通过 id 查询----------- Student [id=1, name=xiaodaima, age=23, sex=23] --------------------------- Tests run: 6, Failures: 0, Errors: 0, Skipped: 4, Time elapsed: 0.018 sec Running com.laolang.services.TutorServiceTest -->通过ID某教师所讲的课程------ Tutor [id=1, name=陈老师, [email protected], phone=12345677654]Course [id=1, name=javase, description=javase开发, startDate=Sun Jan 03 00:00:00 CST 2010, endDate=Fri Dec 03 00:00:00 CST 2010, tutorId=0] Tutor [id=1, name=陈老师, [email protected], phone=12345677654]Course [id=4, name=php, description=php开发, startDate=Sun Jan 03 00:00:00 CST 2010, endDate=Fri Dec 03 00:00:00 CST 2010, tutorId=0] Tutor [id=1, name=陈老师, [email protected], phone=12345677654]Course [id=7, name=vb.net, description=vb.net开发, startDate=Sun Jan 03 00:00:00 CST 2010, endDate=Fri Dec 03 00:00:00 CST 2010, tutorId=0] Tutor [id=1, name=陈老师, [email protected], phone=12345677654]Course [id=9, name=delphi, description=delphi开发, startDate=Sun Jan 03 00:00:00 CST 2010, endDate=Fri Dec 03 00:00:00 CST 2010, tutorId=0] --------------------- Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.024 sec Results : Tests run: 11, Failures: 0, Errors: 0, Skipped: 4 [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 4.292s [INFO] Finished at: Mon Mar 14 09:59:35 CST 2016 [INFO] Final Memory: 6M/14M [INFO] ------------------------------------------------------------------------ D:\code\smvc\mybatis-two>
1、xml配置文件不能写错,不然会有各种资源找不到的错误
2、数据库中不能有名字相同的列,不然的话,联合查询的时候会出问题
3、ID字段绝对不能只以ID为名,不然联合查询就只有一条数据