mybaits
文章平均质量分 75
mybaits
@Autowire
这个作者很懒,什么都没留下…
展开
-
MyBatis要实现动态传入表名、列名
这意味着MyBatis会为SQL语句创建一个PreparedStatement,并使用User对象的name和age属性来填充占位符。statementType:STATEMENT(非预编译),PREPARED(预编译)或CALLABLE中的任意一个,这就告诉 MyBatis 分别使用Statement,PreparedStatement或者CallableStatement。在MyBatis中,statementType是一个枚举类型,它指定了在MyBatis配置文件中mapper XML文件中的每个。原创 2023-08-31 14:46:52 · 2245 阅读 · 0 评论 -
Mybatis为什么需要预编译等一系列问题
因此,应该谨慎使用 ${},并确保传入的参数是安全的。这种方式可以避免 SQL 注入等安全问题,因为 MyBatis 会自动对参数进行转义和预处理,确保生成的 SQL 语句是安全的。SQL 预编译是一种提高数据库访问效率的技术,它通过将 SQL 语句预编译并存储在数据库中,减少每次执行时需要进行解析和编译的开销,从而提高数据库访问的效率。相比之下,#{} 是预编译操作符,它会在预编译阶段对参数进行转义和预处理,确保生成的 SQL 语句是安全的。中,并对其进行适当的转义,以确保生成的 SQL 语句是安全的。原创 2023-08-31 14:12:41 · 361 阅读 · 0 评论 -
springboot项目配置-日志输出
【代码】springboot项目配置-日志输出。原创 2023-08-04 10:12:20 · 568 阅读 · 0 评论 -
Mybatis引出的一系列问题-spring多数据源配置
Spring AOP + 自定义注解的形式是一种推荐的写法,减少代码的冗余且不存在硬编码。此方法适合对指定功能操作指定数据库的模式。原创 2023-08-04 10:03:24 · 982 阅读 · 0 评论 -
Mybatis引出的一系列问题-Sqlsession、Connection的关系
sqlsession是由SqlSessionFactory(SqlSessionFactory一旦被创建就在应用的运行期间一直存在)创建,在跟spring结合以前sqlsession实际是由SqlSessionManager创建管理。Connection对象是和数据库建立的通信连接对象,执行sql的底层逻辑就要通过Connection对象实现。sqlSession实际是每个线程都会创建一个,生命周期依附于其调用线程。Executor:sqlSession执行sql的执行器。原创 2023-08-03 16:52:27 · 565 阅读 · 0 评论 -
Mybatis引出的一系列问题-动态 SQL
动态 SQL 是 MyBatis 的强大特性之一。如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL,可以彻底摆脱这种痛苦。原创 2023-08-03 16:28:24 · 1079 阅读 · 0 评论 -
Mybatis引出的一系列问题-Spring事务的探究
父方法的回滚对子方法的事务是否有影响?操作:将BlogServiceImpl事务传播机制修改为@Transactional(propagation=Propagation.NOT_SUPPORTED),BlogServiceImpl2的仍为@Transactional(propagation=Propagation.MANDATORY),查看是否报错。总结:save方法创建一个事务,则再调用delete方法时,直接在该事务的基础上创建一个嵌套事务,本质上还是同一个事务,做一次提交;原创 2023-08-03 14:38:21 · 126 阅读 · 0 评论 -
Mybatis引出的一系列问题-Mybatis缓存机制的探究
但是一级缓存是基于sqlSession的,而二级缓存是基于mapper文件的namespace的,也就是说多个sqlSession可以共享一个mapper中的二级缓存区域,并且如果两个mapper的namespace 相同,即使是两个mapper,那么这两个mapper中执行sql查询到的数据也将存在相同的二级缓存区域中。但是我们想要的是,会话关闭了,一级缓存中的数据被保存到二级缓存中,新的会话查询信息,就可以从二级缓存中获取内容,同的mapper查出的数据会放在自己对应的缓存(map)中。原创 2023-08-03 14:00:35 · 157 阅读 · 0 评论 -
Mybatis引出的一系列问题-Mybatis原理的探究
既然有了 SqlSessionFactory,顾名思义,我们可以从中获得 SqlSession 的实例。SqlSession 提供了在数据库执行 SQL 命令所需的所有方法。你可以通过 SqlSession 实例来直接执行已映射的 SQL 语句。原创 2023-08-03 11:49:40 · 126 阅读 · 0 评论 -
Mybatis引出的一系列问题-JDBC 的探究
在这种情况下,频繁的进行数据库连接操作势必占用很多的系统资源,网站的响应速度必定下降,严重的甚至会造成服务器的崩溃。把该模式应用到数据库连接管理领域,就是建立一个数据库连接池,提供一套高效的连接分配、使用策略,最终目标是实现连接的高效、安全的复用。这里我们可以总结一下,当你的线程处理的是 I/O 密集型业务时,便可以让线程/连接数设置的比 CPU核心大一些,这样就能够在同样的时间内,完成更多的工作,提升吞吐量。根据资源文件提供的信息,创建多个连接池类的实例,每一个实例都是一个特定数据库的连接池。原创 2023-08-03 10:25:46 · 531 阅读 · 0 评论