当数据库表字段名和java实体类属性名不一致的情况,我们需要用<resultMap>标签处理
项目结构,数据库表字段,java实体类属性名如下图
mybatis-config
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "mybatis-3-config.dtd" >
<configuration>
<!-- 数据库环境 -->
<environments default="development">
<environment id="development">
<!-- 采用JDBC管理器方式 -->
<transactionManager type="JDBC"/>
<!-- POOLED采用mybatis内部连接池方式 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="username" value="root"/>
<property name="url" value="jdbc:mysql://localhost:3306/test"/>
<property name="password" value="1234"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="studentMapping.xml"/>
</mappers>
</configuration>
studentMapping.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd" >
<mapper namespace="mybatis.map">
<resultMap type="entity.Student" id="student">
<result column="id" property="ids"/>
<result column="name" property="names"/>
<result column="password" property="passwords"/>
<result column="school" property="schools"/>
<result column="major" property="majors"/>
</resultMap>
<select id="getstudentall" resultMap="student">
select * from
t_student
</select>
</mapper>
getAll
package test;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import java.util.Properties;
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 entity.Student;
public class getAll {
public static void main(String[] args) throws IOException {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
System.out.println(sqlSession);
List<Student> list = sqlSession.selectList("getstudentall");
for (int i = 0; i < list.size(); i++) {
Student student = list.get(i);
System.out.println(student.getIds()+"___"
+student.getNames()+"___"
+student.getPasswords()+"___"
+student.getSchools()+"___"
+student.getMajors());
}
}
}