
mysql
超人在良家-阿启
记录一下平时的工作
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据库 - MySQL讲解 1 - 安装和连接
MySQL的基础讲解 - 安装和连接原创 2023-03-15 11:15:24 · 740 阅读 · 0 评论 -
java实现动态sql
set+if<update id="updateProcessAssignee"> update pc_process_assignee <trim prefix="set" suffixOverrides=","> <if test="assignee!=null">assignee = #{assignee},</if> </trim> where原创 2022-06-11 16:42:12 · 149 阅读 · 0 评论 -
springboot+mybatis+druid的配置(sql监控平台)
文章目录1.依赖2.配置yml3.druid配置类4.验证5. 配合springsecurity的情况1.依赖<!-- mybatis--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId>原创 2022-04-20 17:10:18 · 2452 阅读 · 2 评论 -
mybatis插入数据,返回新增数据的id值
1、自增主键情况下插入数据获取自增主键值mybatis为我们提供了一个方法,能够插入数据时获取自动生成的值,并且把取的值赋值给实体类的某一属性设置方法:要求:主键必须是自增的<insert id = "insert" useGeneratedKeys = "true" keyProperty = "id"> SQL语句</insert>useGeneratedKeys = true //是否返回自增主键值keyProperty = “xxx” //将值原创 2022-03-07 17:03:32 · 5126 阅读 · 2 评论 -
springboot使用Mybatis-Generator自动生成Dao、Model、Mapping
Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,由于手动书写很容易出错,我们可以利用Mybatis-Generator来帮我们自动生成文件。官网:http://mybatis.org/generator/1.导入依赖 <!--mybatis逆向工程核心包--> <dependency> <groupId>org.mybatis.generator</grou原创 2022-02-15 13:44:04 · 1205 阅读 · 0 评论 -
SpringBoot+Druid+Mybatis如何去配置多数据源
pom.xml配置的依赖如下:<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <grou原创 2022-02-14 14:22:49 · 679 阅读 · 0 评论 -
mapUnderscoreToCamelCase作用- 开启驼峰
在数据库中,由于大多数数据库设置不区分大小写 ,因此下画线方式的命名很常见,如user_name、user_email 。在 Java 中,一般都使用驼峰式命名,如 userName、userEmail因为数据库和 Java 中的这两种命名方式很常见,因此 MyBatis 还提供一个全局属性mapUnderscoreToCamelCase ,通过配置这个属性为 true 可以自动将以下画线方式命名的数据库列映射到 Java 对象的驼峰式命名属性中。这个属性默认为 false ,如果想要使用该功能,需要在 M原创 2022-02-14 13:41:15 · 1415 阅读 · 0 评论 -
随机获取几条数据的写法sql
随机获得10条数据方法一:适用于mysql和SQL ServerSelect * From 表 order By Rand() Limit 10; order by rand() 表示随机排序limit 取最前面的10个方法二: 只适用于SQL Serverselect top N * from table_name order by newid() ----N是一个你指定的整数,表是取得记录的条数 。rand()详解第一步:单独 RAND()的认识SELECT RAND(); 会随机原创 2022-01-12 13:53:45 · 3045 阅读 · 0 评论 -
递归查询(向上或向下)
首先要知道一些函数的使用concat(),concat_ws() 字符串的拼接group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator ‘分隔符’])可以对将要拼接的字段值去重,也可以排序,指定分隔符。若没有指定,默认以逗号分隔。它是有长度限制的,默认为 1024 字节所以,我们有两种方法解决这个问题:可以通过修改 MySQL 配置文件 my.cnf ,增加 group_concat_max_len =原创 2022-01-11 11:19:30 · 940 阅读 · 0 评论 -
Springboot集成mybatis(mybatis-plus,通用mapper等)
集成mybatis 或者 mybatis-plus第一步:依赖的导入pom.xml①一定会有数据库驱动的依赖版本太低的话(如5.1.47),在yml里面的驱动会加载不出来的<!-- mysql驱动 --><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId&g原创 2022-01-11 11:17:15 · 1273 阅读 · 0 评论 -
Mybatis 使用mysql 返回空值字段不显
使用Mybatis时,如果查询语句中某些字段值是null的,则这个字段就无法返回。对于后台数据处理来说,这是一个致命的问题,于是通过修改Mybatis的配置来解决这个问题。mybatis.configuration.call-setters-on-nulls=true但在springboot中,则有时不起作用。经过研究,其实在SqlSessionFactory增加callSettersOnNulls的配置就可以了,这里记录一下:SqlSessionFactoryBean bean = new Sql原创 2022-01-10 11:28:47 · 936 阅读 · 0 评论 -
navicat连接ubuntu上的mysql出现的问题(10061,1130)
问题一:can’t connect to mysql server on ‘192.168.xxx.xxx’(10061)解决:sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf## Instead of skip-networking the default is now to listen only on# localhost which is more compatible and is not less secure.bind-address原创 2022-01-10 09:33:23 · 848 阅读 · 0 评论 -
52条SQL语句性能优化策略
1、对查询进行优化,应尽量避免全表扫描,首先应考虑在 WHERE 及 ORDER BY 涉及的列上建立索引。2、应尽量避免在 WHERE 子句中对字段进行 NULL 值判断,创建表时 NULL 是默认值,但大多数时候应该使用 NOT NULL,或者使用一个特殊的值,如 0,-1 作为默认值。3、应尽量避免在 WHERE 子句中使用 != 或 <> 操作符。MySQL 只有对以下操作符才使用索引:<,<=,=,>,>=,BETWEEN,IN,以及某些时候的 LIKE。原创 2022-01-06 09:04:45 · 130 阅读 · 0 评论 -
Sql练习题(网上发现的,感觉挺好)
四张表–1.学生表Student(s_id,s_name,s_birth,s_sex) –学生编号,学生姓名, 出生年月,学生性别–2.课程表Course(c_id,c_name,t_id) – –课程编号, 课程名称, 教师编号–3.教师表Teacher(t_id,t_name) –教师编号,教师姓名–4.成绩表Score(s_id,c_id,s_score) –学生编号,课程编号,分数注意事项:表里面是有为null的数据,这个得注意了哈!插入数据–建表–学生表CREATE原创 2022-01-04 09:26:51 · 404 阅读 · 0 评论 -
MYSQL性能优化的几条经验
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。1. 为查询缓存优化你的查询大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据原创 2021-12-22 09:09:57 · 96 阅读 · 0 评论 -
mybatis的 实体类和表字段对应的 ResultMap写法
https://www.cnblogs.com/kenhome/p/7764398.htmlresultMap是Mybatis最强大的元素,它可以将查询到的复杂数据(比如查询到几个表中数据)映射到一个结果集当中。resultMap包含的元素:<!--column不做限制,可以为任意表的字段,而property须为type 定义的pojo属性--><resultMap id="唯一的标识" type="映射的pojo对象"> <id column="表的主键字段,或原创 2021-11-30 13:50:40 · 849 阅读 · 0 评论 -
在springboot中使用PageHelper(mybatis的分页插件) 以及自定义分页
PageHelper是国内非常优秀的一款开源的mybatis分页插件,它支持基本主流与常用的数据库, 例如mysql、 oracle、mariaDB、 DB2、 SQLite、Hsqldb等。本项目在 github 的项目地址: https://github.com/pagehelper/Mybatis-PageHelper本项目在 gitosc 的项目地址: http://git.oschina.net/free/Mybatis_PageHelper#官网地址: https://pagehel原创 2021-11-30 13:47:51 · 1357 阅读 · 0 评论 -
类型转换函数cast-Cast(字段名 as 转换的类型 )
CAST函数语法规则是:Cast(字段名 as 转换的类型 ),其中类型可以为:CHAR[(N)] 字符型DATE 日期型DATETIME 日期和时间型DECIMAL float型SIGNED intTIME 时间型原创 2021-11-30 13:27:15 · 1833 阅读 · 0 评论 -
再idea种自定义mapper.xml文件的模板
idea模板定义的位置:mapper.xml的格式 namespace是你都mapper接口的全路径<?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"><mapper namespace="">原创 2021-11-29 09:25:30 · 364 阅读 · 0 评论 -
解决:resultType=“map“接受数据参数为null,参数名都不会返回
有时候进行数据库查询操作的时候,查询结果中一条参数或者有某几个参数为null,这种情况下,参数名都不会返回,解决办法如下:自己遇到的一种情况是:表连接sql后数据为null的字段不显示,我用list接受。主要是因为map接受产生的。第一种:mybatis返回值resultType=“map” 改成实体类返回第二种:还是用map接收,默认查询为null的字段不显示,所以在mybatis-config配置文件中加上 <?xml version="1.0" encoding="UTF-8原创 2021-11-29 09:22:47 · 2229 阅读 · 0 评论 -
随机获取几条数据的写法
随机获得10条数据方法一:适用于mysql和SQL ServerSelect * From 表 order By Rand() Limit 10; order by rand() 表示随机排序limit 取最前面的10个方法二: 只适用于SQL Serverselect top N * from table_name order by newid() ----N是一个你指定的整数,表是取得记录的条数 。rand()详解第一步:单独 RAND()的认识SELECT RAND(); 会随机原创 2021-11-29 09:13:12 · 538 阅读 · 0 评论 -
Mybatis的注解开发使用
注解的作用就是代替映射xml文件,这个操作由mybatis自己实现。从上面这句话我们就知道 MyBatis可以利用SQL映射文件来配置,也可以利用Annotation来设置。注意事项:不要再@Select等中SQL套SQL,也就是不要子查询再service层调用mapper的时候入参也不能包含mapper的调用我们就拿一个springboot项目来说,前提是已经在pom.xml中假如了mybatis的依赖。第一步:在启动类上添加mapper扫描的注解启动类上得加一个@MapperScan(原创 2021-11-27 14:52:51 · 812 阅读 · 0 评论 -
MySQL对大于小于等于符号的处理
由于在mybatis框架的xml中<= , >=解析会出现问题,编译报错,所以需要转译方法一:原符号 < <= > >= & ’ "替换符号 & lt; & lt;= & gt; & gt;= & amp; & apos; & quot;(&后面是没有空格的,这样写是因为不加空格自动就会转换成符号了)unix_timestamp(target.mc_end_date)<=原创 2021-11-27 14:50:30 · 789 阅读 · 0 评论 -
Mybatis 使用mysql 返回空null字段不显的解决方法
使用Mybatis时,如果查询语句中某些字段值是null的,则这个字段就无法返回。对于后台数据处理来说,这是一个致命的问题,于是通过修改Mybatis的配置来解决这个问题。mybatis.configuration.call-setters-on-nulls=true但在springboot中,则有时不起作用。经过研究,其实在SqlSessionFactory增加callSettersOnNulls的配置就可以了,这里记录一下:SqlSessionFactoryBean bean = new Sql原创 2021-11-27 14:43:54 · 1922 阅读 · 0 评论 -
SQL判断某条记录是否存在
SELECT 1 FROM table WHERE a = 1 AND b = 2 LIMIT 1Integer exist = xxDao.existXxxxByXxx(params);if ( exist != NULL ) { //当存在时,执行这里的代码} else { //当不存在时,执行这里的代码}SQL不再使用count,而是改用LIMIT 1,让数据库查询时遇到一条就返回,不要再继续查找还有多少条了业务代码中直接判断是否非空即可。...原创 2021-11-27 14:42:40 · 2453 阅读 · 0 评论 -
mysql 批量插入更新数据 的 两种方法
有时会有这种需求,当符合某种条件的数据存在时,去修改它,不存在时,则新增,也就是saveOrUpdate操作当没有的时候就是插入语句有数据的时候判断主键和唯一索引是否一样,一样那就按照 ON DUPLICATE KEY UPDATE写的修改需要修改端字段值方法一:采用replace 实现replace into test (a,b,num) values('a','a',2),('b','b',3),('a','a',10);但是replace 方法是 根据唯一键值做判断 如果存在 则先原创 2021-11-26 11:11:38 · 8262 阅读 · 0 评论