Mybatis简单复习2

防火墙断网后Adobe软件还弹窗“THIS APP HAS BEEN DISABLED”?原来是科学上网导致的问题!用这个简单方法一键解决! 很多小伙伴在使用上网工具的时候时,突然遇到Adobe弹出“THIS APP HAS BEEN DISABLED”的烦人提示,这个非正版弹窗真的让人头疼!即使你之前尝试过,有时也不奏效,究其原因,原来是因为你使用了代理网络,这时Adobe的流量并不是走本地,而是走代理,导致防火墙的拦截无效。不用慌!今天我来教大家如何通过上网工具,轻松禁用Adobe验证的联网流量,彻底解决这个问题! 阅读详情

ResultMap

为解决,实体类名字与数据库表列名不一样而诞生的。

解决方式1

为列名指定别名,使用as将别名和实体类的属性名一致。

<select id="selectUserById" resultType="User">
    select id , name , pwd as password from user where id = #{id}
</select>

解决方式2

使用结果映射集 RsultMap

<resultMap id="UserMap" type="User">
    <!-- id为主键 -->
    <id column="id" property="id"/>
    <!-- column是数据库表的列名 , property是对应实体类的属性名 -->
    <result column="name" property="name"/>
    <result column="pwd" property="password"/>
</resultMap>


<select id="selectUserById" resultMap="UserMap">
    select id , name , pwd from user where id = #{id}
</select>

日志输出

标准日志输出

<settings>
        <setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>

Log4j

  • Apache开源项目
  • 可以控制日志输出的位置
  • 控制日志的输出格式
  • 定义日志信息的级别
使用步骤
  1. 导入log4j包
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>
  1. 编写配置文件
#将等级为DEBUG的日志信息输出到console和file这两个目的地,console和file的定义在下面的代码
log4j.rootLogger=DEBUG,console,file
#控制台输出的相关设置
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
log4j.appender.console.Threshold=DEBUG
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%c]-%m%n
#文件输出的相关设置
log4j.appender.file = org.apache.log4j.RollingFileAppender
log4j.appender.file.File=./log/kuang.log
log4j.appender.file.MaxFileSize=10mb
log4j.appender.file.Threshold=DEBUG
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%p][%d{yy-MM-dd}][%c]%m%n
#日志输出级别
log4j.logger.org.mybatis=DEBUG
log4j.logger.java.sql=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
  1. setting设置日志实现
<settings>
    <setting name="logImpl" value="LOG4J"/>
</settings>
  1. 在程序中使用Log4j进行输出
// 注意导包:org.apache.log4j.logger
static Logger logger = Logger.getLogger(MyTest.class);

@Test
public void selectUser(){
	logger.info("info:进入selectUser方法");
	logger.debug("debug:进入selectUser方法");
    logger.error("error: 进入selectUser方法");
    SqlSession session = MybatisUtils.getSession();
    UserMapper mapper = session.getMapper(UserMapper.class);
    List<User> users = mapper.selectUser();
    for (User user: users){
        System.out.println(user);
    }
    session.close();
}

分页分表

使用Limit

#语法
SELECT * FROM table LIMIT stratIndex,pageSize
SELECT * FROM table LIMIT 5,10; // 检索记录行 6-15   
#为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1:    
SELECT * FROM table LIMIT 95,-1; // 检索记录行 96-last.   
#如果只给定一个参数,它表示返回最大的记录行数目:    
SELECT * FROM table LIMIT 5; //检索前 5 个记录行   
#换句话说,LIMIT n 等价于 LIMIT 0,n。
步骤
  1. 修改Mapper文件
<select id = "selectUser" prameType="map" resultType = "user">
	select * from user limit #{strartIndex},#{pageSize}
</select>
  1. 修改Mapper接口
List<User> selectUser(Map<String,Integer> map);
  1. 测试
public void testSelectUser(){
	SqlSession session = MybatisUtils.getSession();
	UserMapper mapper = session.getMapper(UserMapper.class);
	
	// 第几页
	int currentPage = 1;
	// 每页显示几个
	int pageSize = 2;
	Map<String,Integer> map = new HashMap<String,Integer>;
	map.put("startIndex",(currentPage - 1)* pageSize);
	map.put("pageSize",pageSize);

	List<User> users = mapper.selectUser(map);
	for(User user:users){
		System.out.println(user);
	}
	session.close();
}

使用注解开发

  • 使用注解开发不需要写mapper.xml的映射文件
  • 直接将SQL语句写入注解中,实现sql的查询·
  • sql类型主要分成:
    • @select()
    • @update()
    • @Insert()
    • @delete()

使用方法

// 查询全部用户
@Select("select id,name,pwd password from users")
public List<User> getAllUser();
<mappers>
	<mapper class = "com.kuang.mapper.UserMapper"/>
</mappers>
@Test
public void myTest(){
	SqlSession session = MybatisUtils.getSession();
	// JVM动态代理机制
	UserMapper mapper = session.getMapper(UserMapper.class);
	List<User> users = maopper.getAllUser();
	for(User user : users){
		System.out.println(User);	
	}
	session.close();
}
属性基加密(Attribute-based Encryption, ABE) KP-ABE中,用户的密钥定义了访问策略,密文的属性与策略进行匹配。CP-ABE中,密文定义了访问策略,用户的属性与策略进行匹配。 阅读详情

相关推荐

python 成语接龙-连接数据库

from xpinyin import Pinyin import pymysql while 1: conn = pymysql.connect( host='localhost', #本地连接 user='root', #数据库账户名 password='password', #数据库密码 db='dic',

Hero2902的博客 598

MyBatis 复习文档

(4, ‘人工智能’, 50, TRUE, NULL, ‘2023-07-04 17:01:00’, ‘2023-07-04 17:01:00’, FALSE),(1, ‘前端’, 50, TRUE, NULL, ‘2023-07-04 17:01:00’, ‘2023-07-04 17:01:00’, FALSE),(6, ‘算法’, 50, TRUE, NULL, ‘2023-07-04 17:01:00’, ‘2023-07-04 17:01:00’, FALSE),2.2 MyBatis 配置。

weixin_54119491的博客 1193

gcc/g++ 链接库的编译与链接

gcc/g++ 链接库的编译与链接 surgewong@gmail.com http://blog.youkuaiyun.com/surgewong       程序编译一般需要经预处理、编译、汇编和链接几个步骤。在实际应用中,有些公共代码需要反复使用,就把这些代码编译成为“库”文件。在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件中,这种库称为静态(链接)库,其特点是可

Surge 4万+

MyBatis —— 复习

MyBatis MyBatis是一款优秀的持久层框架 它支持定制化SQL、存储过程以及高级映射 MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集,MyBatis可以使用简单的XML或注解来映射原生类型。 持久化 数据持久化: 持久化就是将程序的数据在持久状态和瞬间状态转化的过程 内存:断电及时 数据库、io文件持久化 为什么要使用持久化? 有一些对象不能让它丢掉 内存太贵了 持久层 Dao层、Service层、Controller层… 完成持久化工作的代码块 层界限十分明

weixin_46540606的博客 575

基于溶解气体分析(DGA)的变压器DGA数据故障诊断含代码含数据

在拥有可靠的DGA数据的前提下,结合机器学习分类算法,可以实现变压器的故障诊断。在此数据集的基础上,用随机森林跑出的结果如图。

Jason_Orton的博客 2704

深度学习入门:使用CMSIS-NN在微控制器上部署模型的完整指南与Python Jupyter实践

CMSIS-NN是ARM为Cortex-M系列微控制器设计的神经网络库。它旨在提供一套高效、轻量级的神经网络API,使得开发者可以在资源受限的微控制器上运行深度学习模型。CMSIS-NN优化了各种常见的神经网络层,如卷积层、全连接层等,确保它们在微控制器上的运行效率。# 定义模型])# 编译模型# 训练模型这样,我们就得到了一个简单的手写数字识别模型。注意:为了简洁和清晰,本文中的代码可能不是最优的或最完整的实现。为了获得完整的项目和更多的优化技巧,请下载完整项目。

m0_57781768的博客 5884

spring boot+mybatis开发基础复习

spring boot+mybatis复习

2201_75999403的博客 962

SIwave学习记录:电热耦合仿真

SIwave电热耦合仿真

m0_68174736的博客 2336

MyBatis复习笔记

resutlType无法帮助我们自动的去完成映射,所以只有使用resultMap手动的进行映射resultMap:属性:type 结果集对应的数据类型 Orderid 唯一标识,被引用的时候,进行指定autoMapping 开启自动映射extends 继承子标签:id:配置id属性result:配置其他属性association:配置一对一的映射property 定义对象的属性名javaType 属性的类型autoMapping 开启自动映射。

lihao1875699404的博客 1476

从碰撞电离到雪崩击穿:Sentaurus仿真中的模型选择与验证艺术

本文深入探讨了Sentaurus TCAD中雪崩击穿模型的选取与验证方法,特别关注平行平面结的仿真实践。通过对比Chynoweth、van Overstraeten等主流模型的适用场景与精度差异,结合具体案例展示了从几何建模到边界条件设定的完整验证流程,并针对非理想因素提供了有效的补偿技术,助力工程师提升器件仿真的准确性与可靠性。

weixin_29074295的博客 592

3D高斯泼溅实战:如何用自采数据集训练出高质量3D模型(附COLMAP避坑指南)

本文详细介绍了使用自采数据集训练高质量3D高斯泼溅模型的完整实战流程。从数据采集规范、COLMAP稀疏重建的深度配置与避坑指南,到数据格式转换及3DGS训练调优策略,提供了针对自采数据的关键参数调整与问题排查方案,帮助读者高效构建专属3D场景。

g9h0i1的博客 977

mybatis复习01,简单配置让mybatis跑起来

MyBatis最初是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation迁移到了Google Code。随着开发团队转投Google Code旗下,iBatis3.x正式更名为MyBatis。代码于2013年11月迁移到GithubiBatis一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBatis提供的持久层框架包括SQL Maps和Data AccessObjects(DAO)

m0_63622279的博客 369

Qt Quick/QML入门到精通_专栏demo对应文章目录(目前50个左右demo/长期更新)

自定义图标下拉列表框的效果如下所示:自定义三态按钮的效果如下所示:传送门:53.qt quick-自定义三态按钮、自定义图标下拉列表框_诺谦的博客-优快云博客传送门:59.qt quick-qml调色板(颜色取色器)实现、自定义QQuickStyle样式_诺谦的博客-优快云博客63.qt quick-QML侧边滑动栏(不需要任何图片资源,支持自定义左右方向和大小)_诺谦的博客-优快云博客_qt实现好看侧边栏。...

抵抗时间扭曲,坚持做一件有意义的事 2万+

Mybatis-plus复习篇

MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。润物无声:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑。效率至上:只需简单配置,即可快速进行单表 CRUD 操作,从而节省大量时间。丰富功能:代码生成、自动分页、逻辑删除、自动填充等功能一应俱全。

₍˄·͈༝·͈˄*₎◞ ̑̑的博客 1484

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

mybatis复习

文章目录1. mybatis特性2. mybatis配置属性3. 分布查询4.多条件查询Where标签trim标签choose, when, otherwise循环删除foreachsql标签5.mybatis一级缓存6.MyBatis的二级缓存7.二级缓存的相关配置8.Mybatis缓存查询的顺序 mybatis官网:https://mybatis.org/mybatis-3/zh/configuration.html 1. mybatis特性 Mybatis是支持定制化SQL,存储过程以及高级映射的

qq_52581566的博客 1006

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

MyBatis期末复习(SIT)

MyBatis期末复习 1.环境配置 1.导入jar包 2.在类路径下创建包结构 3.编写db.properties和mybatis-config配置文件 2.单表的增删改查和动态SQL 1.数据库表结构 2.实体类, 在pojo下编写(也可称为bean,domain等) 编写必要的getter,setter,constructor(无参,全参),toString方法 3.编写Mapper接口 public interface UserMapper { List<User> f

葡萄枸杞桂圆干的博客 1355

Mybatis框架复习

Mybatis框架复习三个核心接口 三个核心接口 SqlSessionFactoryBuilder 这个类可以被实例化、使用和丢弃,一旦创建了 SqlSessionFactory,就不再需要它了。 因此 SqlSessionFactoryBuilder 实例的最佳作用域是方法作用域(也就是局部方法变量)。 你可以重用 SqlSessionFactoryBuilder 来创建多个 SqlSessionFactory 实例,但最好还是不要一直保留着它,以保证所有的 XML 解析资源可以被释放给更重要的事情。 S

头秃程序员的日常 362

Mybatis 复习

parameterType:指定输入参数类型,MyBatis通过OGNL从输入对象中获取参数值设置在Sql中。resultType:指定输出结果类型,MyBatis将Sql查询结果的一行记录数据映射为resultType指定类型的 对象。

m0_68274160的博客 1013

MyBatis基础知识复习

目 录作业3一.单选题二.填空题三.判断题 作业3 一.单选题 1、MyBatis的删除操作有关说发错误的是()。 A、MyBatis的删除操作在映射文件中是通过配置< delete >元素来实现的 B、MyBatis的删除操作也需要进行事务提交 C、MyBatis的删除操作执行了SqlSession的delete()方法 D、MyBatis的删除操作和添加操作时,也需要封装整个实体类 正确答案: D 2、关于MyBatis模糊查询中进行SQL字符串拼接时,说法错误的是()。 A、使用“${}”

此心安处 9541

mybatis不等于怎么表示_孩子学习不复习等于没学,怎么复习最有效?

对于所学的知识,孩子学到什么程度,就可以称得上“会”了?所谓“会”,应该是在记忆的基础上,能够掌握并应用知识。如果我们问孩子一个他所学过的知识,孩子回答得模棱两可,似是而非的话,说明他并没有把知识牢记于心,更称不上“会”了。所以,“记住”是学会的基础。那么,孩子仅仅通过课堂学习和完成课后作业,就能完全掌握所学的知识吗?显然,只靠听课和写作业是不够的,那么,复习就成了学习过程中的重要环节。而复习的最...

weixin_39916379的博客 166

复习使用SSM(mybatis)

提高开发的效率, 让开发人员把更多的精力集中在业务逻辑处理层面;Java编程语言: SpringPython编程语言: Django Flask TornadoMybatis是一个优秀的持久层框架,底层基于JDBC实现与数据库的交互;使用此框架程序员只需要通过注解或者修改xml配置文件的方式配置好需要执行的SQL语句,MyBatis框架会根据SQL语句生成对应的JDBC代码并对数据库中数据进行增删改查操作。该项目是一款社交媒体应用,用户可以在平台上发表短文等信息,分享自己的想法、心情和生活。

qq_20770569的博客 1275

Mybatis考试复习资料

Mybatis特点 1、简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。 2、灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。通过sql语句可以满足操作数据库的所有需求 3、解除sql与程序代码的耦合:通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提

Java厂长 6873

mybatis复习-2

POINT-一些点 1、sql插入后,返回自增主键值 mybatis也是利用statement.getGenreatedKeys()。 属性: useGeneratedKeys="true" 使用自增主键获取主键值策略 keyProperty 指定对应的主键属性,也就是mybatis获取到主键值以后,将这个值封装给javaBean的哪个属性--> 例如: <insert id="addEmp" parameterType="com.atguigy.mybatis.bean.Employee" u

qq_41617261的博客 228

Mybatis的复习(二)

Mybatis的复习(二)总结mybatismybatis开发dao的方法:mapper代理开发方法(建议使用)SqlMapConfig.xml配置文件输入映射输出映射高级映射数据模型分析思路1. 每张表记录的数据内容2. 每张表重要的字段设置3. 数据库级别表与表之间的关系4. 表与表之间的业务关系 总结 mybatis mybatis是一人持久层框架,mybatis是一个不完全的ORM框架 ...

Java_Fly1的博客 1621

mybatis专题复习系列

mybatis专题复习系列 最近在复习框架的基础知识,利用国庆假期,想复习下mybatis,jpa,hibernate等orm框架,如果觉得写得还不错,有帮助到你,可以点波关注,我会继续更,一起努力! mybatis复习(一)工作原理 mybatis复习(二)mybatis连接池和事务管理 mybatis复习(三)缓存机制 ...

kevin的博客 324

MyBatis级联查询(一对多)复习巩固练习

为了帮助巩固MyBatis级联查询的知识点,设计了一个完整的练习方案,包含理论复习和实践操作。

DD2187718660的博客 969
上一篇: Git 基础操作学习笔记
下一篇: Spring Security Web安全性解决方案
DDDerek~
博客等级 码龄7年 150粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值