My Batis

本文介绍了如何在项目中添加MyBatis和MySQL依赖,配置数据库连接,设置Mapper,以及如何使用MyBatis实现增删改查功能,包括查询、删除、修改、插入和like查询的安全处理。

1.创建项目时,需要添加两个依赖
(1)MyBatis Framework
(2)MySQL Driver

2.在application.properties里面设置数据库的相关连接信息

3.设置mybatis相关信息

先再resource里面创建一个文件夹:mybatis
mybatis.mapper-locations=classpath:mybatis/*Mapper.xml 这里的mybatis是在resource里面创建的一个文件夹的名字,要对应
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
logging.level.com.example.demo=debug

4.配置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">
<mapper namespace=""></mapper>

使用MyBatis实现增、删、改、查功能

①查询userinfo表中的所有用户信息

在接口中定义方法

在xml中实现接口,查询使用<select>标签

id:是接口中定义的方法的名称

resultType是这个方法的返回类型,这个类型为userinfo,将这个类型的路径方法resultType中

②根据Id进行查询

(1)使用#{}获取数据

此时id的类型在数据库中定义为int,传递时必需使用包装类定义

在xml中实现取数据时,此时的id和Param里面的要对应,并且Param里面的要和数据库对应

(2)使用${}获取数据

#{}和${}的区别:

Ⅰ:${}在控制台打印的sql语句,直接将数据进行替换,读取时及时执行

#{}在控制台打印的sql语句,预执行,将代码中要输入的参数变成" ?"占位符

Ⅱ:${}不安全,存在sql注入;#{}是安全的,不存在sql注入

结论:#{}虽然是安全的,但是不能完全替代${}

${} 的使用场景:当业务需要进行传递SQL命令时,只能使用${},不能是哦也能够#{},但是使用了${},那么传递的参数一定要被穷举,否则不能被使用

③根据Id进行删除,删除返回的类型是受影响的行数,所以方法的返回结果用int接受

删除可以不用设置resultType

在测试delUserById这个方法时,如果想要测试业务但是并不想影响数据库的内容,可以在测试方法上加上注释@Transactional

④根据用户id进行修改,返回的结果也是受影响的行数

传递的是一个userinfo对象,在xml中取其中的参数也是用#{}进行读取

⑤插入一个新的用户,返回的结果是一个受影响的行数

⑥like查询

在使用like查询的时候,在xml文件中不能够使用#{}来读取数据

like的SQL语句:select * from userinfo where username like '% 三 %';

因为#{}是预执行,它会认为"% 三 %"是一个值,所以执行报错。使用${}读取时,是可以完成相应的要求的,但是${}会存在SQL注入,并且使用${}的前提是可以被穷举的,所以此时两个方法都不合适

采用数据库内置的函数:concat()来实现。

这个是完整源码 python实现 Django 【python毕业设计】基于Python的天气预报(天气预测分析)(Django+sklearn机器学习+selenium爬虫)可视化系统.zip 源码+论文+sql脚本 完整版 数据库是mysql 本研究旨在开发一个基于Python的天气预报可视化系统,该系统结合了Django框架、sklearn机器学习库和Selenium爬虫技术,实现对天气数据的收集、分析和可视化。首先,我们使用Selenium爬虫技术从多个天气数据网站实时抓取气象数据,包括温度、湿度、气压、风速等多项指标。这些数据经过清洗和预处理后本研究旨在开发一个基于Python的天气预报可视化系统,该系统结合了Django框架、sklearn机器学习库和Selenium爬虫技术,实现对天气数据的收集、分析和可视化。首先,我们使用Selenium爬虫技术从多个天气数据网站实时抓取气象数据,包括温度、湿度、气压、风速等多项指标。这些数据经过清洗和预处理后,将其存储在后端数据库中,以供后续分析。 其次,采用s,将其存储在后端数据库中,以供后续分析。 其次,采用sklearn机器学习库构建预测模型,通过时间序列分析和回归方法,对未来天气情况进行预测。我们利用以往的数据训练模型,以提高预测的准确性。通过交叉验证和超参数优化等技术手段,我们优化了模型性能,确保其在实际应用中的有效性和可靠性。 最后,基于Django框架开发前端展示系统,实现天气预报的可视化。用户可以通过友好的界面查询实时天气信息和未来几天内的天气预测。系统还提供多种图表类型,包括折线图和柱状图,帮助用户直观理解天气变化趋势。 本研究的成果为天气预报领域提供了一种新的技术解决方案,不仅增强了数据获取和处理的效率,还提升了用户体验。未来,该系统能够扩展至其他气象相关的应用场景,为大众提供更加准确和及时的气象服务。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值