MyBatis
云淡风轻58
代码是程序员的朋友,虽然没有热情,但是非常忠实。
展开
-
MyBatis 增、删、改、查操作
示例:【MyBatis 增、删、改、查操作】项目结构如下:创建mybatis-config.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/d...原创 2018-08-22 11:20:11 · 409 阅读 · 0 评论 -
MyBatis 事务管理
通常来讲,事务具备4个特性:原子性:事务是应用中最小的执行单位,就如原子是自然界最小颗粒,具有不可再分的特征一样。一致性:事务执行的结果,必须使数据库从一种一致性状态,变到另一种一致性状态。隔离性:各个事务的执行互不干扰,任意一个事物的内部操作对其他并发的事务,都是隔离的,即并发执行的事务之间不会互相影响。持续性:事务一旦提交,对数据所做的任何改变都要记录到永久存储器中,通常就是保...原创 2018-09-01 09:09:58 · 359 阅读 · 0 评论 -
MyBatis 一对一关联映射
示例【根据姓名查询身份证信息】创建t_person表创建t_card表创建Personpackage com.po;public class Person { private Integer pId; private String pName; private String sex; private Card card; public Integer get...原创 2018-08-25 10:57:19 · 526 阅读 · 0 评论 -
MyBatis 注解一对多
示例:注解一对多程序清单:com.po.Student.javapackage com.po;public class Student { private Integer id; private String name; private String sex; private Integer age; private Clazz clazz; public Integer ...原创 2018-09-04 09:54:48 · 355 阅读 · 0 评论 -
MyBatis 缓存机制
在实际项目开发中,通常对数据库查询的性能要求很高,而MyBatis提供了查询缓存来缓存数据,从而达到提高查询性能的要求。MyBatis的查询缓存分为一级缓存(sqlSession级别)和二级缓存(mapper级别)。一级缓存(sqlSession级别) 一级缓存的作用域是sqlSession范围的,当在同一个sqlSession中执行两次相同的SQL语句时,第一次执行...原创 2018-09-01 16:51:57 · 367 阅读 · 0 评论 -
MyBatis 注解多对多
示例:测试多对多关联根据数据模型,分别创建t_user、t_order、t_item表。然后,输入以下测试数据。程序清单:com.po.User.javapackage com.po;public class User { private Integer userId; private String userName; private String userS...原创 2018-09-04 15:55:48 · 3884 阅读 · 0 评论 -
MyBatis 注解动态SQL
示例:测试动态SQL使用以下SQL脚本创建数据库表和测试数据:CREATE TABLE `t_user` ( `userId` int(11) NOT NULL AUTO_INCREMENT, `userName` varchar(255) DEFAULT NULL, `userSex` varchar(255) DEFAULT NULL, `userAddress` va...原创 2018-09-04 17:05:20 · 2528 阅读 · 0 评论 -
MyBatis 添加数据时返回数据库主键
MyBatis 添加数据时返回数据库主键 首先,如果数据库支持自动生成主键的字段(比如MySql、SQL Server)那么可以设置useGeneratedKeys="true",然后再把keyProperty="userId"设置到目标属性上就可以了。<insert id="addUser" parameterType="user" useGeneratedKeys="t...原创 2018-08-30 10:54:27 · 836 阅读 · 0 评论 -
MyBatis 日志信息配置
项目结构jar包创建Userpackage com.po;public class User { private Integer userId; private String userName; private String passWord; public Integer getUserId() { return userId; } //省略get、...原创 2018-08-30 16:01:56 · 229 阅读 · 0 评论 -
MyBatis 基于注解的增、删、改、查操作
MyBatis 基于注解的增、删、改、查操作程序清单:UserMapper.javapackage com.mapper;import org.apache.ibatis.annotations.Delete;import org.apache.ibatis.annotations.Insert;import org.apache.ibatis.annotations.Option...原创 2018-09-02 20:54:01 · 2773 阅读 · 0 评论 -
MyBatis入门程序
准备MyBatis环境创建mybatis项目,并导入MyBatis、MySql JAR包创建mybatis-config.xml(通过xml构建SqlSessionFactory)<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//D...原创 2018-08-21 16:20:36 · 132 阅读 · 0 评论 -
MyBatis 调用存储过程(详解)
项目结构数据表t_user创建Userpackage com.po;public class User { private Integer id; private String name; private String sex; private Integer age; public Integer getId() { return id; } publi...原创 2018-08-31 16:20:35 · 140196 阅读 · 12 评论 -
MyBatis <set>标签的使用
示例【更新学生信息】配置StudentMapper.xml<update id="updateStudent" parameterType="com.po.Student"> update t_student <set> <if test="sname!=null"> sname=#{sname}, </if&原创 2018-08-24 11:30:47 · 11409 阅读 · 5 评论 -
MyBatis 使用Map接口传递参数
示例【MyBatis 使用Map接口传递参数】创建UserMapper.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"...原创 2018-08-22 16:28:12 · 11733 阅读 · 0 评论 -
MyBatis 通过Java Bean传递多个参数
示例【MyBatis 通过Java Bean传递多个参数】创建Userpackage com.po;public class User { private Integer uid; private String username; private String password; public Integer getUid() { return uid; } publi...原创 2018-08-22 16:37:55 · 6645 阅读 · 1 评论 -
MyBatis 一对多关联映射
示例【通过班级查询学生信息】t_student表t_classes表创建Studentpackage com.po;public class Student { private Integer sid; //学号 private String sname; //姓名 private String sex; //性别 private String addr...原创 2018-08-27 08:34:38 · 2119 阅读 · 0 评论 -
MyBatis 多对多关联映射
示例【通过班级查询老师信息】创建t_classes创建t_classessTeacher创建t_teacher创建Classespackage com.po;import java.util.List;public class Classes { private Integer cid; private String cname; private Lis...原创 2018-08-27 10:17:54 · 28929 阅读 · 9 评论 -
MyBatis 通过Mapper接口操作数据库
MyBatis 通过Mapper接口操作数据库创建UserMapper接口package com.mapper;import com.po.User;public interface UserMapper { User getUserById(Integer id);}创建UserMapper.xml<mapper namespace="com.mapper.Us...原创 2018-08-30 16:18:51 · 2612 阅读 · 0 评论 -
MyBatis <if>标签的使用
示例【根据学生姓名和班级信息查询】创建t_student表创建Studentpackage com.po;public class Student { private Integer sid; //学号 private String sname; //姓名 private String sex; //性别 private String classes; //班...原创 2018-08-23 17:27:41 · 7648 阅读 · 0 评论 -
MyBatis <choose>标签的使用
示例【根据姓名和班级查询学生信息】创建t_student表配置StudentMapper.xml<select id="getStudentByNameAndClasses" resultType="com.po.Student"> select * from t_student where 1=1 <choose> <when tes...原创 2018-08-24 08:49:08 · 7826 阅读 · 0 评论 -
MyBatis <where>标签的使用
示例【根据姓名和班级查询学生信息】配置StudentMapper.xml<select id="getStudentByNameAndClasses" resultType="com.po.Student"> select * from t_student <where> <if test="sname!=null"> and s..原创 2018-08-24 08:59:47 · 6577 阅读 · 2 评论 -
MyBatis 调用存储过程
什么是存储过程? SQL语句在执行的时候需要先编译,然后执行。数据库的存储过程(Procedure)是一组为了完成特定功能的SQL语句,编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用存储过程。使用存储过程可提高数据库执行速度,并且存储过程可以重复使用,从而减少数据库开发人员的工作量。定义存储过程的语法:mysql> DELIMI...原创 2018-08-31 10:58:59 · 2703 阅读 · 0 评论 -
MyBatis @Result注解基于一对一关联
示例:测试一对一关联程序清单:com.mapper.PersonMapper.javapackage com.mapper;import org.apache.ibatis.annotations.One;import org.apache.ibatis.annotations.Result;import org.apache.ibatis.annotations.Results;...原创 2018-09-03 16:57:40 · 7256 阅读 · 1 评论