# mybatiesTest **Repository Path**: three_fu/mybatiesTest ## Basic Information - **Project Name**: mybatiesTest - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-05-15 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # mybatiesTest ## Demo01 - 根据id查询 ```text //创建会话工厂,引入Config文件 SqlSessionFactory sqlSessionFactory =new SqlSessionFactoryBuilder(). build(Resources.getResourceAsStream("Config/sqlMapperConfig.xml")); //通过工厂得到SqlSession SqlSession sqlSession = sqlSessionFactory.openSession(); //通过SqlSession操纵数据库 User user = sqlSession.selectOne("test.findUserById",1); #{}: 相当于占位符 ${}: 字符串拼接 selectOne(): 查询一条记录 selectList(): 查询多条记录 SqlSession: 是线程不安全的,建议在方法体内执行 ``` ## Demo02 ```text 传统dao方法开发 ``` ## Demo03 ```text mapper代理开发,namespace要求与接口文件的地址一样 接口中的方法名和xml文件中的statement的id一样,输入参数类型也要一致,返回值类型也要一致 mapper接受的参数只有一个,但可以通过多种POJO包装类型,来实现多类型 ``` ## sqlMapConfig属性 ```text properties: 引入外部配置文件,通常不在其内部配置属性,而通过外部properties文件配置属性 setting: 全局属性配置,可查api typeAliases: 定义类型别名,针对parameterType和resultType typeHandlers: 类型处理器,完成JDBC类型到java类型的转换 objectFactory: 对象工厂 plugins: 插件 ``` - mapper配置 ```html and password like '%${userCustomer.password}%' and name like '%${userCustomer.name}%' ``` ## Demo05 ```text 一对一: resultType: 不可实现延迟加载 resultMap: 可实现延迟加载 一对一映射使用association,存储到POJO中 一对多或多对多使用collocation,可嵌套使用: 存储到list中 只需要一条集合记录可使用resultType 多条记录展示可使用resultMap ```