resultType
在select查询语句当中都需要返回值类型,mybatis的返回值类型就reulstType和resultMap两种。
resultType的mapper示例(Mybatis的xml配置文件):
resultType是Java实体类的全限定类名。
<select id="selectOneAccountById" resultType="com.galaxy.bank.pojo.Account"> select id, actno, balance, holder_name, country from bankdb.t_account where actno = #{id} </select>
Java Dao接口
Account selectOneAccountById(int id);
Java测试类:
@Test public void test01(){ SqlSession sqlSession= MybatisUtil.getSqlSession(); AccountDao dao = sqlSession.getMapper(AccountDao.class); //简单类型参数 Account account=dao.selectOneAccountById(2); System.out.println("Account:"+account); sqlSession.close(); }
Mybatis对resultType的处理方式:
- 执行SQL语句,将查询结果转化为Java对象.
- 调用实体类的无参数构造方法创建对象.
- 把ResultSet指定的列值赋值给java对象的属性.
对等的JDBC:
ResultSet rs=executeQuery("sql); while (rs.next){ Account account=new Account(); account.setId(rs.getInt("id)); account.setHolderName(rs.getString("holderName"); ... }
注意:
我们创建任意一个java实体类,保证这个java实体类的属性与SQL语句返回值的列名对应上就行。
这就是ORM(对象关系映射)的核心思想。
标签:account,实体类,Java,Account,resultType,Mybatis,返回值 From: https://www.cnblogs.com/majestyking/p/16770716.html