- resultMap定义了返回的数据集类型,参数type则规定了类型
<!-- 自定义返回结果集 -->
<resultMap id="userMap" type="UserBean">
<id property="id" column="id" javaType="java.lang.Integer"></id>
<result property="username" column="username" javaType="java.lang.String"></result>
<result property="password" column="password" javaType="java.lang.String"></result>
<result property="account" column="account" javaType="java.lang.Double"></result>
</resultMap>
- mybatis.cfg.xml文件中,typeAlies配置了Java Bean类别名,用于resultMap配置文件中的type参数
<!-- 为JAVA Bean起类别名 -->
<typeAliases >
<!-- 别名方式1,一个一个的配置 type中放置的是类的全路径,alias中放置的是类别名 -->
<!-- <typeAliase type="com.cy.mybatis.beans.UserBean" alias="UserBean"/> -->
<!-- 别名方式2,自动扫描,将JAVA类的类名作为类的类别名 -->
<package name="com.cy.mybatis.beans"/>
</typeAliases>
- insert标签配置了数据的新增操作,参数useGenerateKeys="true"则规定了主键的生成方式为自增长,参数keyProperty则规定了哪个为主键
- mapper中的namespace属性,用于绑定接口(即该属性的值,一定是Java中的接口,如com.cy.mybatis.mapper.UserMapper)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org/DTD Mapper 3.0" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cy.mybatis.mapper.UserMapper">
- sqlSessionFactoryBuilder通过mybatis.cfg.xml文件获取工厂类对象sqlSessionFactory,再通过sqlSessionFactory获取sqlSession,接着通过sqlSession.getMapper方法获取Mapper绑定的接口,通过接口进行数据库的增、删、改、查等操作
//使用MyBatis提供的Resources类加载mybatis的配置文件
Reader reader = Resources.getResourceAsReader("mybatis.cfg.xml");
//构建sqlSession的工厂
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
SqlSession session = sessionFactory.openSession();
UserMapper mapper=session.getMapper(UserMapper.class);