mybatis
文章平均质量分 67
再让我学一会吧!
Either outstanding or out
展开
-
一文学会MyBatis,MyBatis最简单的入门教程(万字好文)
文章目录1 MyBatis框架的概述1.1 三层架构1.2 三层架构请求的处理流程1.3 为什么要使用三层1.4 三层架构模式和框架1.5 框架1.6 框架解决的问题1.7 jdbc访问数据库的优缺点1.8 MyBatis框架2 MyBatis框架快速入门2.1 使用MyBatis准备2.2 搭建MyBatis项目八步2.2.1 创建mysql数据库和表2.2.2 在idea中创建一个空项目2.2.3 修改pom.xml文件2.2.4 创建一个实体类Student2.2.5 创建Dao接口,定义操作数据库的原创 2021-11-08 14:12:32 · 2120 阅读 · 1 评论 -
MyBatis之PageHelper分页
1.PageHelperPageHelper做数据分页。在你的select语句后面加入分页的sql内容,如果你使用的mysql数据库,它就是在select * from student后面加上limit语句。使用步骤:1.加入依赖pageHelper依赖<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId&g原创 2021-11-07 23:01:31 · 246 阅读 · 0 评论 -
MyBatis主配置文件详解
1.主配置文件mybatis主配置文件,提供mybatis全局设置的,包含的内容日志,数据源,mapper文件位置我们来放一个MyBatis主配置文件的模板<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.d原创 2021-11-07 22:23:20 · 1775 阅读 · 0 评论 -
MyBatis之动态SQL
文章目录1.动态SQL之if2.动态SQL之where3.动态SQL之foreach3.1 foreach简单类型的List3.2 foreach对象类型的List4.sql标签什么是动态sql:同一个dao的方法,根据不同的条件可以表示不同的sql语句,主要是where部分有变化通过使用mybatis提供的标签,实现动态sql的能力,主要将if,where,foreach,sql这四个标签注意:在使用动态sql的时候,dao方法的形参要使用java对象。1.动态SQL之if语法:<if原创 2021-11-06 15:35:48 · 421 阅读 · 0 评论 -
MyBatis实现模糊查询
今天我们来学习mybatis实现模糊查询1.第一种方式第一种方式:在java程序中,把like的内容组装好,把这个内容传入到sql语句我们先在dao接口中定义一个方法//like的第一种方式List<Student> selectLikeOne(@Param("name") String name);mapper文件中:<!--like第一种方式--><select id="selectLikeOne" resultType="com.lu.entity.St原创 2021-11-06 12:43:41 · 18201 阅读 · 0 评论 -
MyBatis中resultType和resultMap的使用
封装输出结果:MyBatis执行sql语句,得到ResultSet,转为java对象这里我们两个,分别为resultType和resultMap1.resultTyperesultType属性:在执行select时使用,作为标签的属性出现的。resultType:执行sql得到ResultSet转换的类型,使用类型的完全限定名或别名。注意如果返回的是集合,那应该设置为集合包含的类型,而不是集合本身。它的值有两种:java类型的全限定名称使用别名1.1 java类型的全限定名称dao接口原创 2021-11-05 21:32:30 · 2900 阅读 · 0 评论 -
mybatis占位符的讲解
在mybatis中,占位符有两个,一个是#,一个是$,这两个有什么区别,我们分别来讲解一下1. 占位符#{}语法:#{字符}#占位符告诉mybatis使用实际的参数值代替。并,#{…}代替sql语句的"?"。这样做更安全,更迅速,通常也是首选做法mapper文件中<select id="selectStudentById" parameterType="int" resultType="com.lu.entity.Student"> select id, name, email, a原创 2021-11-05 13:10:53 · 5771 阅读 · 0 评论 -
MyBatis参数详解
在mybatis中,我们看到很多参数,包括parameterType, , ,等等参数就是通过java程序把数据传入到mapper文件中的sql语句。参数主要是指dao接口方法的形参1.parameterTypeparameterType:表示参数的类型,指定dao方法的形参数据类型。这个形参的数据类型是给mybatis使用。mybatis是给sql语句的参数赋值时使用。PreparedStatement.setXXX(位置, 值)要想理解这里必须对JDBC中的PreparedS..原创 2021-11-04 17:13:26 · 2933 阅读 · 0 评论 -
MyBatis动态代理
1.引出代理技术今天我们继续学习前一天的内容,昨天我们使用了传统的dao来执行sql,我们来分析一下,来看下面这两行代码,就是dao接口我们写的实现类里面的两行代码,我们怎么样通过dao调用方法来得到这两行代码的信息呢?String sqlId = "com.lu.dao.StudentDao.selectStudentById";Student student = session.selectOne(sqlId, id);测试方法中:调用dao的方法Student student =原创 2021-11-03 15:35:11 · 401 阅读 · 0 评论 -
MyBatis创建工具类,通过传统的dao执行sql
1.创建工具类我们创建工具类是因为我们在测试的时候不必再写重复的代码,直接调用工具类的方法来获取session对象我们创建一个util包,然后创建一个MyBatisUtil工具类具体的代码如下:package com.lu.utils;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessi原创 2021-11-02 19:37:44 · 467 阅读 · 0 评论 -
MyBatis使用模板
我们创建一个新的项目MyBatis-second创建步骤参考MyBatis框架快速入门(四天学会MyBatis之第二天)_ypxcan的博客-CSDN博客然后在第六步,我们需要创建一个mapper文件来写sql语句,在这个文件里面,只有你写的sql语句是自己写的,其他都是不变的,这样我们就可以创建一个mapper文件模板创建步骤:第一步,我们来准备好模板<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE原创 2021-11-02 17:17:58 · 241 阅读 · 0 评论 -
MyBatis框架日志,占位符,重要对象的讲解
目录1.日志的使用2.添加学生数据3.使用占位符4.MyBatis的一些重要对象1.Resources:mybatis框架中的对象,一个作用读取主配置信息2.SqlSessionFactoryBuilder:负责创建SqlSessionFactory对象3.SqlSessionFactory:重要对象4.SqlSession对象1.日志的使用我们打开官方教程,看到可以一下几种日志供我们使用我们来看这一段话不少应用服务器(如 Tomcat 和 Web..原创 2021-11-02 16:21:14 · 276 阅读 · 0 评论 -
MyBatis框架快速入门
今天我们来学习一个案例,通过对这个案例的学习,掌握mybatis的方法目录1 使用MyBatis准备2 搭建MyBatis项目八步1.创建mysql数据库和表2.在idea中创建一个空项目3.修改pom.xml文件4.创建一个实体类Student5.创建Dao接口,定义操作数据库的方法6.创建xml文件(mapper文件),写sql语句7.创建mybatis的主配置文件(xml文件):有一个,放在resources目录下8.创建测试的内容3 MyBatis..原创 2021-11-01 20:39:50 · 218 阅读 · 0 评论 -
Mybatis框架的概述
1.框架的概述1.三层架构mvc:web开发中,使用mvc架构模式。m:数据 v:视图 c:控制器c:控制器:接收请求,调用service对象,显示请求的处理结果。当前使用servlet作为控制器 v:视图:显示请求的结果的结果,把m中数据显示出来。当前使用jsp,html,css,js等 m:数据:来自数据库mysql,来自文件,来自网络mvc作用:实现解耦合 让mvc各司其职 使得系统扩展更好三层架构:1.界面层(视图层):接收用户的请求,调用service,显示请求..原创 2021-10-31 23:23:59 · 334 阅读 · 0 评论 -
Mybatis动态SQL
什么是动态SQL:动态SQL就是指根据不同的条件生成不同的SQL语句官方介绍:搭建环境CREATE TABLE `blog`(`id` VARCHAR(50) NOT NULL COMMENT '博客id',`title` VARCHAR(100) NOT NULL COMMENT '博客标题',`author` VARCHAR(30) NOT NULL COMMENT '博客作者',`create_time` DATETIME NOT NULL COMMENT '创建时间'.原创 2021-03-15 21:22:24 · 74 阅读 · 0 评论 -
Mybatis SQL多对一和一对多处理
多对一处理:多个学生,对应一个老师对于学生这边而言,关联...多个学生,关联一个老师【多对一】对于老师而言,集合,一个老师,有很多学生【一对多】SQL:CREATE TABLE `teacher` ( `id` INT(10) NOT NULL, `name` VARCHAR(30) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=INNODB DEFAULT CHARSET=utf8INSERT INTO teach..转载 2021-03-15 16:04:53 · 183 阅读 · 0 评论 -
Mybatis中Lombok的使用
官方网站:Lombok简介:Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate you原创 2021-03-14 22:49:41 · 303 阅读 · 0 评论 -
Caused by: org.apache.ibatis.exceptions.PersistenceException: ### Error building SqlSession.
Caused by: org.apache.ibatis.exceptions.PersistenceException:### Error building SqlSession.### The error may exist in com/lu/dao/UserMapper.xml### Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apa.原创 2021-03-13 20:28:43 · 1309 阅读 · 0 评论 -
Mybatis分页详解
思考:为什么分页?减少数据的处理量使用Limit分页select * from user limit 3; #[0,n]1.接口 //分页 List<User> getUserByLimit(Map<String,Integer> map);2.Mapper.xml <select id="getUserByLimit" parameterType="map" resultMap="UserMap">原创 2021-03-13 21:26:21 · 180 阅读 · 1 评论 -
Mybatis日志详解
1.日志工厂如果一个数据库操作,出现了异常,我们需要拍错。日志就是最好的助手!曾经:sout,debug现在:日志工厂 SLF4J LOG4J【掌握】 LOG4J2 JDK_LOGGING COMMONS_LOGGING STDOUT_LOGGING 【掌握】 NO_LOGGING 在Mybatis中具体使用哪个日志实现,在设置中设定!STDOUT_LOGGING标准日志输出在mybatis核心...原创 2021-03-13 17:02:29 · 2335 阅读 · 0 评论 -
Mybatis解决属性名和字段名不一致的问题
1.问题数据库中的字段新建一个项目,测试实体类字段不一致的情况public class User { private int id; private String name; private String password;}测试出现问题//select * from mybatis.user where id = #{id}//类型处理器//select id,name,pwd from mybatis.user where id = #{i.原创 2021-03-13 15:47:44 · 109 阅读 · 0 评论 -
Mybatis配置解析
1.核心配置文件mybatis-config.xml MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息重点掌握2.环境变量(environments)MyBatis 可以配置成适应多种环境不过要记住:尽管可以配置多个环境,但每个SqlSessionFactory实例只能选择一种环境。学会使用配置多套运行环境!Mybatis默认的事物管理器就是JDBC,连接池:POOLED3.属性(properties)我们可以通过properties属原创 2021-03-13 14:36:44 · 116 阅读 · 0 评论 -
Mybatis注解开发详解
代码 @Select("select * from user") List<User> getUsers();配置文件 <mappers> <mapper class="lu.dao.UserMapper"></mapper> </mappers>Mybatis的执行流程CRUD我们可以在工具类创建的时候实现自动提交事务! public static SqlSe原创 2021-03-14 22:06:24 · 181 阅读 · 0 评论 -
Mydatis实现增删改查
1.namespacenamespace中的包名要和Dao/Mapper接口的包名一致2.select选择,查询语句:id:就是对应的namespace的方法名; resultType:sql语句执行的返回值; parameterType:参数类型;1.编写接口 //根据ID查询用户 User getUserByid(int id);2.编写对应的mapper中的sql语句<select id="getUserByid" parameterTy.原创 2021-03-12 19:36:11 · 101 阅读 · 0 评论