mybatis
usermapper.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="com.easytopit.demo.mybatis.mapper.UserMapper"><insert id="insert" useGeneratedKeys="true" keyProperty="id" >INSERT INTO et_user (username, truename, login_time) VALUES(#{username}, #{truename}, #{loginTime});</insert> <update id="update">UPDATE et_user SET username=#{username}, truename=#{truename}, login_time=#{loginTime} WHERE id=#{id}</update> <delete id="delete" parameterType="int">delete from et_user where id=#{id}</delete> <select id="queryAll" resultType="com.easytopit.demo.mybatis.bean.User">SELECT id, username, truename, login_time loginTime FROM et_user LIMIT 10</select><select id="queryAllByPage" parameterType="java.util.HashMap" resultType="com.easytopit.demo.mybatis.bean.User"><!-- SELECT id, username, truename, login_time loginTime FROM et_user LIMIT #{param1}, #{param2} --> SELECT id, username, truename, login_time loginTime FROM et_user LIMIT #{pageOffset}, #{pageSize}</select><select id="query" resultType="com.easytopit.demo.mybatis.bean.User">SELECT id, username, truename, login_time loginTime FROM et_user WHERE id = #{id}</select></mapper>
namespace:
是为了解决相同名字的sql操作问题,有标识的作用
例如如果访问的路径是/add.do,如果namespace为/user,则访问路径为/user/add.do
select id="selectid"
id是为了唯一标识sql语句
resultType=java.util.map
标识当行记录的类型
// 手工查询(根据命名空间 - 命名空间与Mapper接口一致) -> com/easytopit/demo/mybatis/mapper/persistent/UserMapperNS.xml
users = session.selectList("NS.queryAll");
参数的三种方法
1:使用#{0}索引
2:使用参数#{param1} 从1开始
3:注解 @param(“name”)
jdk1.8支持参数注解,其他的不支持 参数名字和param(“”)名字一致
注意事项
#{} 实际上使用的jdbc的?占位符,是安全的
11:41:56.728 [http-bio-8080-exec-10] DEBUG c.e.c.m.AlbumMapper.deletelAlbum - ==> Preparing: delete from ab_album where id = ?
${} 底层实际上使用的替换,要记得加单引号,是不安全的
11:47:29.831 [http-bio-8080-exec-10] DEBUG c.e.c.m.AlbumMapper.deletelAlbum - ==> Preparing: delete from ab_album where id = 67
结果集映射
resulttype
映射一个具体的类
resultmap
先定义一个resultmap,然后映射
多对一映射
相当于先查询一个属性,然后自动使用属性作为参数调用其他的方法,再讲结果返回
column ''deptno ,property='dept',javaType=dept.class,one = @one(select = "命名空间.方法名")
一对多映射
懒加载
设置
需要的时候加载
出现的原因在于,应为一对多情况,有可能出现内存不足,所以当需要的时候,重新发起sql语句
insert selectkey标签
先通过sql语法,查询当前的列的最大值+1,放入到map中,然后insert into语句
ebe417cec8e6dd8aa4bcc9ae8674ba99
215bbcf8e2a79af2acd472141290b6da1e508d9ebd6e1154da98407ebec4b9dc
子主题 4
不建议使用二级缓存
相当于之前的全局变量
对查询安全
算法
fifo
将队列最右端的数据踢出去
lfu:least frequently used
使用次数最少的踢出去
也就是数据存到数据库到删除使用次数最少的
LRU:least recently userd
最近使用次数最少的
在指定时间内使用次数最少的
实现缓存
缓存的每行数据必须有唯一标识符(表中的主键),也就是map
如果有就从map中取,没有就添加
子主题 1
以上是mybatis的详细介绍的详细内容。更多信息请关注PHP中文网其他相关文章!

JVM通过JavaNativeInterface(JNI)和Java标准库处理操作系统API差异:1.JNI允许Java代码调用本地代码,直接与操作系统API交互。2.Java标准库提供统一API,内部映射到不同操作系统API,确保代码跨平台运行。

modularitydoesnotdirectlyaffectJava'splatformindependence.Java'splatformindependenceismaintainedbytheJVM,butmodularityinfluencesapplicationstructureandmanagement,indirectlyimpactingplatformindependence.1)Deploymentanddistributionbecomemoreefficientwi

BytecodeinJavaistheintermediaterepresentationthatenablesplatformindependence.1)Javacodeiscompiledintobytecodestoredin.classfiles.2)TheJVMinterpretsorcompilesthisbytecodeintomachinecodeatruntime,allowingthesamebytecodetorunonanydevicewithaJVM,thusfulf

javaachievesplatformIndependencEthroughThoJavavIrtualMachine(JVM),wodecutesbytecodeonyanydenanydevicewithajvm.1)javacodeiscompiledintobytecode.2)

JavaGUI开发中的平台独立性面临挑战,但可以通过使用Swing、JavaFX,统一外观,性能优化,第三方库和跨平台测试来应对。JavaGUI开发依赖于AWT和Swing,Swing旨在提供跨平台一致性,但实际效果因操作系统不同而异。解决方案包括:1)使用Swing和JavaFX作为GUI工具包;2)通过UIManager.setLookAndFeel()统一外观;3)优化性能以适应不同平台;4)使用如ApachePivot或SWT的第三方库;5)进行跨平台测试以确保一致性。

JavadevelovermentIrelyPlatForm-DeTueTososeVeralFactors.1)JVMVariationsAffectPerformanceNandBehaviorAcroSsdifferentos.2)Nativelibrariesviajnijniiniininiinniinindrododerplatefform.3)

Java代码在不同平台上运行时会有性能差异。1)JVM的实现和优化策略不同,如OracleJDK和OpenJDK。2)操作系统的特性,如内存管理和线程调度,也会影响性能。3)可以通过选择合适的JVM、调整JVM参数和代码优化来提升性能。

Java'splatFormentenceHaslimitations不包括PerformanceOverhead,versionCompatibilityIsissues,挑战WithnativelibraryIntegration,Platform-SpecificFeatures,andjvminstallation/jvminstallation/jvmintenance/jeartenance.therefactorscomplicatorscomplicatethe“ writeOnce”


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

Atom编辑器mac版下载
最流行的的开源编辑器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

Dreamweaver Mac版
视觉化网页开发工具

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

WebStorm Mac版
好用的JavaScript开发工具