解决方式way1:resultMap
(1)studentMapper.xml
<!-- 当数据库的字段名 和 类的属性名 不一致的时候的解决方式:2种 way1--> <select id="selectOneNotPipeiWay1" resultMap="aaa" parameterType="int"> select * from student where id = #{id} </select> <resultMap id="aaa" type="susu.demo.Student"> <result property="grade" column="gradenews"/><!-- property: 类的属性名 column:数据库的字段名 --> </resultMap>
(2)studentManager.java动态代理接口(接口中的方法默认都是public abstract ,可以不写)
//数据库的字段名 和 类的属性名不一致的时候 的解决方式之一 Student selectOneNotPipeiWay1(int id);
(3)测试方法
/** * column 和 property不匹配的时候的解决方式之一: resultMap */ public static void notPipeiWay01() throws IOException { Reader reader = Resources.getResourceAsReader("conf.xml"); SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader); SqlSession session = sessionFactory.openSession();//就是session名字即可 StudentManager studentManager = session.getMapper(StudentManager.class); Student s = studentManager.selectOneNotPipeiWay1(2); System.out.println(s.toString()); session.close(); }//notPipeiWay01()
解决方式way2:resultType+HashMap
扫描二维码关注公众号,回复:
7810990 查看本文章
(1)studentMapper.xml
<!-- way2 --> <select id="selectOneNotPipeiWay2" resultType="susu.demo.Student" parameterType="int"> select id, gradenews "grade" from student where id = #{id} </select>
(2)studentManager.java动态代理接口(接口中的方法默认都是public abstract ,可以不写)
//数据库的字段名 和 类的属性名不一致的时候 的解决方式之二 Student selectOneNotPipeiWay2(int id);
(3)测试方法
/** * column 和 property不匹配的时候的解决方式之二: resultType+HashMap */ public static void notPipeiWay02() throws IOException { Reader reader = Resources.getResourceAsReader("conf.xml"); SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader); SqlSession session = sessionFactory.openSession();//就是session名字即可 StudentManager studentManager = session.getMapper(StudentManager.class); Student s = studentManager.selectOneNotPipeiWay2(1); System.out.println(s.toString()); session.close(); }//notPipeiWay02()