spring data jpa从入门到精通_SpringBoot入门建站全系列(三)Mybatis操作数据库

news/2024/5/9 2:04:13/文章来源:https://blog.csdn.net/weixin_39959505/article/details/110511013

v2-8cc086a1e5ab9d9bcad56133113ef36e_1440w.jpg?source=172ae18b

SpringBoot入门建站全系列(三)Mybatis操作数据库

SpringBoot操作数据库有多种方式,如

JDBC直接操作: 玩法太古老了,而且难免会忘记关闭连接。没人愿意这样玩

Mybatis插件:比较时髦,比较适合sql复杂,或者对性能要求高的应用,因为sql都是自己写的。

Spring-data-jpa: 使用hibernate作为实现,基本上不需要写sql,因为sql都是统计的,总是会产生多余的查询,性能上相对而言会低,但不绝对,影响性能的因素是多种的,这里说的性能是 从最终的查询的sql来对比的,毕竟生成的sql没有经过深思熟虑写出来的性能好。

JdbcTemplate:spring在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中。Spring-data-jpa引入的时候,JdbcTemplate必然会被引入的。

当然还有其他中间件,主流使用的就是Mybatis和Spring-data-jpa。索引本篇先讲Mybatis。

品茗IT-SpringBoot专题-同步发布

品茗IT 提供在线支持:

一键快速构建Spring项目工具

一键快速构建SpringBoot项目工具

一键快速构建SpringCloud项目工具

一站式Springboot项目生成

Mysql一键生成Mybatis注解Mapper

如果大家正在寻找一个java的学习环境,或者在开发中遇到困难,可以加入我们的java学习圈,点击即可加入,共同学习,节约学习时间,减少很多在学习中遇到的难题。

一、引入依赖

需要同时引入数据库的connector和数据源datasource,当然也可以使用mybatis自己实现的数据源,但是还是以第三方数据源最好,毕竟经过大家的认可。

<dependency>

完整的依赖如下所示:

<project 

二、配置数据库连接信息

spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/boot?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
spring.datasource.username=cff
spring.datasource.password=123456spring.datasource.type=org.apache.commons.dbcp2.BasicDataSource
spring.datasource.dbcp2.max-wait-millis=60000
spring.datasource.dbcp2.min-idle=20
spring.datasource.dbcp2.initial-size=2
spring.datasource.dbcp2.validation-query=SELECT 1
spring.datasource.dbcp2.connection-properties=characterEncoding=utf8
spring.datasource.dbcp2.validation-query=SELECT 1
spring.datasource.dbcp2.test-while-idle=true
spring.datasource.dbcp2.test-on-borrow=true
spring.datasource.dbcp2.test-on-return=falsemybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

三、使用Mybatis的Mapper

3.1 表与Java实体

假设我们有一张这个表user_role :

v2-bb9d53fd0dfc4eeb3f2cbc86dd14cf87_b.jpg

实体:

import 

3.2 使用注解方式写sql

import 

其中,插入操作中的语句:

@Options

是用来回显ID的,方便保存后回查。

3.3 使用xml方式写sql

使用xml方式写sql,需要先在SpringBoot读取的配置文件(可以放在环境相关的配置文件中,也可以直接放在application.properties文件)中加入:

mybatis.mapper-locations=classpath:mapper/*.xml

这条配置指定了xml的配置在classpath下的mapper文件夹下。

首先建立一个mapper接口:

import 

在配置文件mapper文件夹下建立UserRoleInfoMapper.xml:

<?xml version="1.0" encoding="UTF-8" ?>

这里,多参数传递的时候,刚开始用#{0},#{1}这种形式取值,出现:

nested 

这种异常,可能是版本升级,取参方式改变了,那就按照它说的换成param或者arg就行,如果怕出问题,就直接在接口的参数前加上@Param注解,xml中以名称来取变量即可。

四、service逻辑调用Mapper。

UserRoleService:

import 

五、开放接口调用service

MybatisRest:

import 

喜欢这篇文章么,喜欢就加入我们一起讨论SpringBoot技术吧!

v2-fb2d87779616f2481cb0c0a1d907bf75_b.jpg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_782970.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么百度可以抓取html,百度蜘蛛抓取规律和原理(揭秘百度是如何抓取你网站的)...

经常听到站长们问&#xff0c;那怎么才能识别正确的百度蜘蛛呢&#xff1f;来来来&#xff0c;只需两步&#xff0c;教你正确识别百度蜘蛛1、查看UA&#xff0c;如果UA都不对&#xff0c;可以直接判断非百度搜索的蜘蛛&#xff0c;目前对外公布过的UA是&#xff1a;移动UA:Mozi…

seo从入门到精通_DEDE新手教程,织梦建站教程(快速入门)

大家好&#xff0c;欢迎收看小郑seo《织梦建站入门到精通》系列教程。很多seo小白在开始学习建站时都会问一个问题&#xff0c;我不会编程&#xff0c;能建站吗?可以的&#xff0c;用网站cms系统就可以快速建设网站。而现在国内使用最多的网站CMS系统&#xff0c;就是接下来我…

安卓app和iosapp开发有什么不同呢?-综合外链_我的网站收录有很多为什么没排名?怎么办办解决...

前言&#xff1a;收录和排名是两座大山&#xff0c;但如果已经收录了&#xff0c;还是没有排名怎么办呢?优优蜘蛛池付费群中的小伙伴对这块的内容非常感兴趣&#xff0c;粉丝嘛&#xff0c;肯定是要宠的。内容大纲&#xff1a;选词原因搜索引擎缓存原因用户体验问题被归入低级…

迪奥官方网站

2019独角兽企业重金招聘Python工程师标准>>> 迪奥官方网站( http://www.kguowai.com/html/198.html)一直是炫丽的高级女装的代名词。他继承着法国高级女装的传统&#xff0c;始终保持高级华丽的设计路线&#xff0c;做工精细&#xff0c;迎合上流社会成熟女性的审美…

从零开始建站-2

为什么80%的码农都做不了架构师&#xff1f;>>> 前面以为搭建的差不多了&#xff0c;结果后面出现些问题&#xff0c;继续罗列在这里:) 1、如何调试php代码&#xff1f; 修改/etc/php.ini&#xff0c;使 display_errors On 和 error_reporting E_ALL&#xff0…

基于django的视频点播网站开发-step4-首页功能

在本讲中&#xff0c;我们开始首页功能的开发&#xff0c;在开发过程中&#xff0c;大家将会学习到Django中的通用视图类、分页对象paginator以及foreignKey外键的使用。 效果演示 整体功能 大家可先通过 网站演示地址 浏览一下首页的效果。我们首页呢&#xff0c;比较简洁大方…

koken html5网站建设CMS软件

2019独角兽企业重金招聘Python工程师标准>>> koken&#xff0c;你的自图片说明网站的最佳选择&#xff01; See more Library features 图文混排的最佳选择&#xff1b; 在线设置实时预览&#xff0c;所见&#xff0c;即所得 See more Site features …

php 获取微信头像昵称,网站获取微信头像昵称 | 忆云竹

摘要php网站获取微信头像昵称等信息的方法有时网站需要获取用户微信头像用以显示但是微信头像等信息的获取需要用户的同意&#xff0c;也就不像QQ头像那么容易获取教程首先获取授权index.php (授权页面)window.location.href"https://open.weixin.qq.com/connect/oauth2/…

Office 365管理员指引 19——Sharepoint 网站快速访问链接

a) 在部门网站中&#xff0c;上排有一行显示平行的子页面&#xff0c;左侧有一列显示该网站的功能区b) 点击编辑链接即可快速新增或删除链接转载于:https://blog.51cto.com/johnnytang/1721191

为 Drupal 7 网站添加自定义CSS

当我们在逛聊天室或者论坛时&#xff0c;经常会碰到有人提问怎么向 Drupal 网站中添加自定义CSS —— 通常来讲&#xff0c;通过 Drupal 主题来进行添加最好。不过在某些情况下&#xff0c;因为环境限制或网站管理员没有访问主题文件的权限&#xff0c;而不得不考虑其它办法。今…

zencart隐藏网站统计代码

如何给网站添加统计代码&#xff0c;我想基本很多人都会的。那么如何隐藏统计代码呢&#xff1f; 看下面的代码&#xff1a; </div> <div style"display:none;"> <script src"http://s22.cnzz.com/stat.php?id4130248&web_id4130248&sh…

Github入门(二)添加一个静态网站并更新仓库

Github入门&#xff08;二&#xff09;添加一个静态网站并更新仓库 原理介绍&#xff1a;SpringBoot 项目中的web资源在src/main/resources下的文件夹static和templates 中。static 中放静态页面&#xff08;*.html&#xff09;和资源(图片等)&#xff0c;templates 中放动态页…

vue添加html开启服务器_如何在Linux服务器部署自己的网站?

前提 突然想在腾讯云的服务器上部署一个markdown编辑器供自己使用&#xff0c;毕竟自己动手丰衣足食嘛。之前在我的服务器上已经部署过博客、一些静态网页了。但是很长时间没有去操作过了。借着这一次机会再把相关流程巩固一遍。准备工作 1、云服务器一台2、域名一个3、mac使用…

买网站服务器主要注意哪些问题,服务器之家谈谈购买网站空间有哪些注意事项...

网站空间好不好&#xff0c;网站空间是不适合我的网站&#xff0c;是不是空间越大的网站空间越好等等关于网站空间的问题一直缠绕着网站所有者或者即将建设网站的人们&#xff0c;今天服务器之家为大家分析购买网站空间到底要考虑注意哪些问题:1.根据你的实际需要购买合适大小的…

网站响应速度多少秒正常_中国裁判文书网须通过手机注册访问,某讼类网站或受影响!...

来自最高人民法院的消息说&#xff0c;9月1日&#xff0c;中国裁判文书网访问方式将进行升级&#xff0c;访问用户需通过手机号码验证的方式进行注册&#xff0c;注册登录后&#xff0c;可以照常进行文书查询、下载等操作。用户对裁判文书数据的访问权限和操作习惯不受影响。据…

java无法加载主类什么原因_网站无法获得流量的原因是什么?

您可以命名的每个在线业务都有一个目标&#xff1a;尽可能地增加销售额和利润。在在线环境中&#xff0c;这一切都从一个简单的过程开始&#xff1a;增加您网站的流量。从这个角度来看&#xff0c;如果你有一个在线网站&#xff0c;但你没有足够的流量&#xff0c;它会徒劳地消…

VisualSVN 钩子脚本实现网站自动更新

一、环境说明&#xff1a; &#xff08;1&#xff09;服务器端除了装VisualSVN Server服务器端外&#xff0c;另外再装TortoiseSVN&#xff08;2&#xff09;服务器端和客户端都checkout 下目录&#xff08;3&#xff09;注意&#xff1a;自动发布的钩子脚本&#xff0c;不支持…

fileupload控件上传图片_18.实现网站上选择本地图片并上传至服务器

功能介绍&#xff1a;本地选择照片上传至服务器。需要引入的 jar 文件&#xff1a;commons-fileupload-1.3.2、commons-io-2.5.jar。下载链接&#xff1a;commons-fileupload.x.x.jar 文件&#xff1a;http://commons.apache.org/proper/commons-fileupload/ commons-io-x.x.ja…

seo模拟点击软件_「SEO快排」-SEO快排的核心点是什么?

作为网站的站长或SEO都听说过快排这个关键词&#xff0c;那么你对快排了解多少呢&#xff1f;身为站长超过10年&#xff0c;这一回&#xff0c;SEO小土豆给你解释一下什么是快排关键字&#xff0c;快排的核心点在哪里&#xff1f;单击联系快排公司。关键字快排是什么&#xff1…

我与网站的日常-webshell命令执行

本文比较基础&#xff0c;其中有一个知识点关于php执行系统命令的函数 &#xff0c;我们用最简单的webshell来说说传值问题的影响&#xff0c; 本文作者&#xff1a; i春秋签约作家——屌丝绅士 001前言&#xff1a; 小表弟又来写文章了&#xff0c;这次是一个新的发现&…