国内网站没备案专业制作

张小明 2026/1/16 20:13:13
国内网站没备案,专业制作,管件网络销售怎么找客户,seo关键词平台目录 Mybatis MyBatis简介 MyBatis基本使用 1.导入依赖 2.配置核心配置文件 3.配置SQL语句 4.执行SQL MyBatis核心配置文件 1.MyBatis设置 2.environments 数据连接环境 3.mappers 加载映射 基于xml文件配置SQL语句 1.增删改查语句 2.参数传递 3.#{} 和 ${} 的区…目录MybatisMyBatis简介MyBatis基本使用1.导入依赖2.配置核心配置文件3.配置SQL语句4.执行SQLMyBatis核心配置文件1.MyBatis设置2.environments 数据连接环境3.mappers 加载映射基于xml文件配置SQL语句1.增删改查语句2.参数传递3.#{} 和 ${} 的区别4.查询结果映射类型SQL执行操作接口映射添加日志字段与属性不一致问题方式一:起别名方式二:驼峰映射方式三:手动配置结果映射多表查询One To OneOne To ManyMany To Many多语句组合查询PageHelper分页插件1.添加依赖2.配置插件3.实现分页动态SQLMybatis缓存机制一级缓存二级缓存Mybatis注解形式Mybatis什么是mybatis框架?mybatis是一个持久层框架,半自动化的orm框架什么是orm框架?ORM(Object-Relational-Mapping):是对象关系映射的意思,它是一种思想,是指将数据库中的每一行数据用对象的形式表现出来。可以将 ORM 简单理解为上面我们提出的,可以自动将对象与数据进行映射的技术。Java数据库类表对象一行数据(表中的某行数据)属性列(一行数据中的某个列)ORM框架的分类全自动化ORM框架:不需要自己编写SQL,直接进行对象操作即可完成SQL语句的生成,并进行数据库操作半自动化ORM框架:需要自己编写SQL,但是查询结果的映射,框架自动完成全自动 ORM 与半自动 ORM 对比维度全自动 ORM半自动 ORMSQL 编写自动生成(框架根据对象操作生成 SQL)手动编写(开发者编写原生 SQL 或模板)映射方式自动/注解/约定(如 JPA 注解、Django 模型)手动配置(XML、注解、代码或映射文件)控制粒度低(黑盒)——底层 SQL 不透明高(白盒)——SQL 可见且可调试开发效率高 —— 减少样板代码,快速实现 CRUD中 —— 需额外编写 SQL 和配置性能调优困难 —— SQL 由框架生成,难以优化容易 —— 可直接优化 SQL 语句适用场景快速开发、CRUD 主导、业务逻辑简单复杂查询、高性能需求、兼容老旧系统、定制 SQL典型代表Hibernate(Java)、Django ORM(Python)MyBatis(Java)、SqlAlchemy Core(Python)灵活性低 —— 难以处理复杂 JOIN、存储过程等高 —— 支持原生 SQL、数据库特有功能事务管理框架封装,通常支持声明式事务通常需手动或通过 API 控制MyBatis简介MyBatis官网地址:https://mybatis.org/mybatis-3/zh/index.htmlmybatis是一个半自动化的持久层框架mybatis封装了jdbc的很多细节,开发者只需要关注sql本身,无需关注注册驱动 获取连接等操作mybatis使用ORM思想来对结果集一个封装优点简单易学:基于 SQL 编程,比 Hibernate 更易上手。减少样板代码:自动管理 JDBC 连接,无需手动开关。数据库兼容性强:只要 JDBC 支持(即有对应 Java 驱动),MyBatis 就支持。生态丰富:支持多种第三方插件(如分页、逆向工程)。无缝集成 Spring:与 Spring 框架良好整合。配置灵活:使用映射文件可实现 SQL 与代码解耦,修改 SQL 无需改 Java 代码。MyBatis基本使用1.导入依赖dependencies !-- MyBatis -- dependency groupIdorg.mybatis/groupId artifactIdmybatis/artifactId version3.5.13/version /dependency ​ !-- MySQL Connector/J -- dependency groupIdmysql/groupId artifactIdmysql-connector-java/artifactId version8.0.26/version /dependency ​ /dependencies2.配置核心配置文件?xml version="1.0" encoding="UTF-8" ? !DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd" configuration ​ !--环境配置 default默认使用固定环境-- environments default="A" ​ !--环境A-- environment !--事务管理-- transactionManager type="JDBC"/ !--数据源-- dataSource type="POOLED" !--配置信息-- property value="com.mysql.jdbc.Driver"/ property value="jdbc:mysql://localhost:3306/demo"/ property value="root"/ property value="123456"/ /dataSource /environment ​ !--环境B-- environment !--事务管理-- transactionManager type="JDBC"/ !--数据源-- dataSource type="POOLED" !--配置信息-- property value="com.mysql.jdbc.Driver"/ property value="jdbc:mysql://localhost:3306/demo2"/ property value="root"/ property value="123456"/ /dataSource /environment /environments ​ !--配置映射文件加载-映射器-- mappers mapper resource="testMapper.xml"/ /mappers ​ ​ /configuration3.配置SQL语句?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="ts1" ​ insert insert into account values(null,"ZS",1000.0) /insert ​ /mapper4.执行SQLpackage com.itdemo; ​ import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; ​ import java.io.IOException; import java.io.InputStream; ​ public class App { public static void main( String[] args ) throws IOException { // 创建SqlSessionFactoryBuilder对象 SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); // 加载配置文件获取流对象 InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml"); // 创建SqlSessionFactory对象 需要传递流 SqlSessionFactory sessionFactory = builder.build(inputStream); // 获取SqlSession对象 SqlSession sqlSession = sessionFactory.openSession(); // 执行sql int i = sqlSession.insert("ts1.addAccount"); ​ System.out.println(i 0 ? "添加成功" : "添加失败"); ​ // 提交事务 关闭SqlSession对象 sqlSession.commit(); sqlSession.close(); ​ } }MyBatis核心配置文件1.MyBatis设置主要对默认设置进行修改2.environments 数据连接环境MyBatis 可以配置多个环境。这可以帮助你SQL映射对应多种数据库等。比如说,你想为开发、测试、 发布产品配置不用的环境。或者,你想为多个数据库产品共享相同的模式,或者也想使用相同的SQL 映射。等等。需要记住一个重要的事情:虽然你可以配置多重环境,你也可以只选择一对一SqlSessionFactory实例。所以如果你想连接两个数据库,你需要使用SqlSessionFactory创建两个实例,每个数据库一个。environments default="环境名" ​ !--每一个环境-- environment !--事务管理-- transactionManager type="JDBC"/ !--数据源-- dataSource type="POOLED" !--配置信息-- property value="com.mysql.jdbc.Driver"/ property value="jdbc:mysql://localhost:3306/数据库名"/ property value="用户名"/ property value="密码"/ /dataSource /environment /environmentsdefault:中必须设置一个已经配置好的环境,创建工厂时,不指定会使用默认的环境id:指定环境名称,不能与其他环境同名事务管理 type:JDBC- 这个类型直接全部使用JDBC的提交和回滚功能。它依靠使用连接的数据源来管理事务的作用域MANAGED- 这个类型什么不做,它从不提交、回滚和关闭连接。而是让窗口来管理事务的全部生命周期。数据源 type:UNPOOLED:在每次请求的时候简单的打开和关闭一个连接POOLED:MyBatis自带的简单连接池,会缓存一定数量的连接供复用JNDI:从应用服务器的 JNDI 容器中获取已配置好的数据源property配置信息 (部分常用)driver- 指定JDBC 驱动器的J
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

佛山新网站建设公司网页设计与网站建设实训报告

TouchGal社区平台是专为视觉小说爱好者打造的交流空间,在这里你可以找到丰富的游戏资源、深度交流的同好伙伴,以及个性化的游戏管理工具。本指南将为你揭示快速融入这个温馨社区的方法! 【免费下载链接】kun-touchgal-next TouchGAL是立足于分…

张小明 2026/1/10 18:14:44 网站建设

甘肃省建设局网站首页手机免费建立网站吗

零基础掌握图像矢量化:免费工具vectorizer的完整实战指南 【免费下载链接】vectorizer Potrace based multi-colored raster to vector tracer. Inputs PNG/JPG returns SVG 项目地址: https://gitcode.com/gh_mirrors/ve/vectorizer 还在为PNG图片放大后出现…

张小明 2026/1/10 18:14:45 网站建设

重庆seo网站建设.net作业做网站

你是否曾想过,让相册里那些珍贵的静态照片"活"起来?现在,AI图像动画技术已经能让任何肖像照片拥有自然的动态表情和动作,为数字记忆注入全新生命! 【免费下载链接】LivePortrait Bring portraits to life! …

张小明 2026/1/10 18:14:44 网站建设

html5导航网站源码下载字体

【计算的脉络:从硅片逻辑到高并发抽象】 第 4 篇:Cache Line 深度解密:为什么 64 字节决定了性能? 1. 搬运的单位:缓存行 (Cache Line) 当你向内存请求一个 long 型变量(8 字节)时,C…

张小明 2026/1/10 18:14:43 网站建设

畜牧养殖企业网站源码wordpress标题不能空

碧蓝航线Alas自动化脚本:三步实现智能托管游戏体验 【免费下载链接】AzurLaneAutoScript Azur Lane bot (CN/EN/JP/TW) 碧蓝航线脚本 | 无缝委托科研,全自动大世界 项目地址: https://gitcode.com/gh_mirrors/az/AzurLaneAutoScript 还在为碧蓝航…

张小明 2026/1/10 18:14:47 网站建设

网站翻页动画效果洗头竖鞋带名片改良授权做网站不贵

目录 第一篇:PySide6 基础认知篇 第 1 章:PySide6 是什么 1.1 PySide6 的定义 1.2 Qt 是什么 1.3 PySide6 与 Qt 的关系 1.4 PySide6 与 PyQt 的区别 第二篇:Qt 基础机制(核心思想) 第 2 章:Qt 核心设计思想 2.1 Qt 的事件驱动模型 2.2 QObject 对象模型 2.3 对…

张小明 2026/1/12 23:34:29 网站建设