
MyBatis
孙行者Monkey
1.每天进步一丢丢,做个有趣的人 2.种一棵树最好时间是十年前,其次是现在 3.每个人都有一个觉醒期,但觉醒的早晚决定个人的命运 4.知行合一,知道了不去做,等于不知道
展开
-
自造框架(Mybatis)
一、为啥自造1. 学习框架设计的思想2. 深入了解Mybatis核心技术3. 加强低层技术的应用二、解决问题1、解决sql硬编码问题使用xml封装数据库连接信息, 和sql执行语句2、解决资源浪费问题封装c3p0数据库连接池技术3、解决结果集处理代码重复问题使用反射技术封装成java对象返回三、目标技术1. 加载主配置文件dom4j 解析XML2. ...原创 2019-09-24 16:52:39 · 245 阅读 · 0 评论 -
Mybatis动态sql_foreach标签
1、作用遍历集合(list、数组)参数。2、需求根据多个id查找用户3、示例测试@Test public void testForeach(){ SqlSession sqlSession = SqlSessionKit.openSession(true); UserMapper mapper = sqlSession.getMapper(UserMapper.cl...原创 2019-09-26 21:11:39 · 241 阅读 · 0 评论 -
Mybatis动态sql_sql,include标签
1、作用定义(sql) 公共的sql片段以供文中 引用(include)。 2、需求查询时返回指定字段3、示例测试@Test public void testSql(){ SqlSession sqlSession = SqlSessionKit.openSession(true); UserMapper mapper = sqlSession.getMapper(...原创 2019-09-26 21:08:44 · 578 阅读 · 0 评论 -
Mybatis动态sql_set标签
1、作用代替set关键字以及 根据传入参数情况自动去除多余的,号。 2、需求更新用户生日和性别 更新用户生日3、示例测试@Test public void testSet(){ SqlSession sqlSession = SqlSessionKit.openSession(true); UserMapper mapper = sqlSession.get...原创 2019-09-26 21:04:43 · 370 阅读 · 0 评论 -
Mybatis动态sql_ where标签
1、作用代替where关键字以及 根据传入参数情况自动去除多余的and、or关键字。2、需求根据 性别 查找用户3、示例测试@Test public void testWhere(){ SqlSession sqlSession = SqlSessionKit.openSession(); UserMapper mapper = sqlSession.getMa...原创 2019-09-26 21:00:23 · 316 阅读 · 0 评论 -
Mybatis动态sql_ if标签
1、作用判断传入的参数情况,拼装sql语句片段。2、需求根据 名称和性别 查找用户 根据 名称 查找用户3、示例测试:@Test public void testIf(){ SqlSession sqlSession = SqlSessionKit.openSession(); UserMapper mapper = sqlSession.getMapper(U...原创 2019-09-26 20:54:46 · 370 阅读 · 0 评论 -
实用 | Mybatis事务管理
一、事务类型在 MyBatis 中有两种类型的事务管理器(也就是 type=”[JDBC|MANAGED]”)JDBC – 这个配置就是直接使用了 JDBC 的提交和回滚设置,它依赖于从数据源得到的连接来管理事务作用域。 MANAGED – 这个配置几乎没做什么。它从来不提交或回滚一个连接,而是让容器来管理事务的整个过程二、手动事务1、示例@Overridepublic v...原创 2019-09-25 11:04:06 · 510 阅读 · 0 评论 -
实用 | Mybatis连接池
一、连接池分类dataSource 元素使用标准的 JDBC 数据源接口来配置 JDBC 连接对象的资源。许多 MyBatis 的应用程序会按示例中的例子来配置数据源。虽然这是可选的,但为了使用延迟加载,数据源是必须配置的。有三种内建的数据源类型(也就是 type=”[UNPOOLED|POOLED|JNDI]”)二、内部连接池1、说明这种数据源的实现利用“池”的概念将 J...原创 2019-09-25 10:58:23 · 1126 阅读 · 0 评论 -
Mybatis输入输出映射
1.parameterType输入映射1.1 简单类型映射<delete id="removeUser" parameterType="int">delete from user where id = #{id}</delete>1.2 对象类型映射<update id="updateUser"parameterType="com.ithe...原创 2019-09-24 23:23:42 · 275 阅读 · 0 评论 -
Mybatis插入语句
1.声明操作映射/*** 保存用户.** @param user 用户*/void saveUser(User user);2.配置操作映射<insert parameterType="com.itheima.mybatis.day02.crud.model.User">insert into user(id, username, birthday, se...原创 2019-09-24 18:22:04 · 9571 阅读 · 0 评论 -
实用 | Mybatis模糊查询
1.声明操作映射/*** 根据用户名查询用户* @param username 用户名* @return 结果*/List<User> findByUsername(String username);2.配置操作映射<select id="findByUsername" parameterType="string"resultType="com.ith...原创 2019-09-24 17:54:23 · 342 阅读 · 0 评论 -
实用 | Mybatis参数传递
1.用户数据模型@Datapublic class User {private Integer id;private String username;private Date birthday;private String sex;private String address;}2.UserMapper接口public interface User...原创 2019-09-24 17:46:20 · 263 阅读 · 0 评论 -
实用 | Mybatis环境搭建
1.创建Maven项目2.引入依赖<packaging>jar</packaging><properties><!-- 自动生成G/S方法 --><lombok.version>1.18.6</lombok.version><!-- Mybatis框架包 --><myb...原创 2019-09-24 17:40:17 · 302 阅读 · 0 评论 -
实用 | Mybatis 一对多关联查询
1、需求查找所有用户并显示关联订单信息2、分析语句SELECT* FROMuser u LEFT JOIN orders o ON o.user_id = u.id结论查询出来的 单个用户可能有多个订单 所以应在User中引入List 3、实现测试@Test public void testO2M(){ List<User> all...原创 2019-09-28 21:07:48 · 246 阅读 · 0 评论