当前位置: 首页 > news >正文

福建省工程建设信息官方网站怎么把代码添加网站

福建省工程建设信息官方网站,怎么把代码添加网站,校园网站素材,网站开发中的pamlMyBatis概述与MyBatis入门程序 一、MyBatis概述二、入门程序1.准备开发环境#xff08;1#xff09;准备数据库#xff08;2#xff09;创建一个maven项目 2.编写代码#xff08;1#xff09;打包方式和引入依赖#xff08;2#xff09;新建mybatis-config.xml配置⽂件… MyBatis概述与MyBatis入门程序 一、MyBatis概述二、入门程序1.准备开发环境1准备数据库2创建一个maven项目 2.编写代码1打包方式和引入依赖2新建mybatis-config.xml配置⽂件3新建XXXMapper.xml配置⽂件4编写测试代码5引入日志6MyBatis第⼀个⽐较完整的代码写法7MyBatis⼯具类SqlSessionUtil的封装 三、MyBatis事务管理深度剖析四、总结 框架其实就是对通⽤代码的封装提前写好了⼀堆接⼝和类我们可以在做项⽬的时候直接引⼊这些 接⼝和类引⼊框架基于这些现有的接⼝和类进⾏开发可以⼤⼤提⾼开发效率。 一、MyBatis概述 MyBatis本质上就是对JDBC的封装通过MyBatis完成CRUD。MyBatis在三层架构中负责持久层的属于持久层框架。MyBatis属于半⾃动化ORM框架需要自己编写SQL语句。Hibernate属于全⾃动化的ORM框架不需要自己编写SQL语句。ORM对象关系映射 OObjectJava虚拟机中的Java对象RRelational关系型数据库MMapping将Java虚拟机中的Java对象映射到数据库表中⼀⾏记录或是将数据库表中的⼀⾏记录映射成Java虚拟机中的⼀个Java对象。 二、入门程序 1.准备开发环境 1准备数据库 # schema.sql 文件 DROP TABLE IF EXISTS article; CREATE TABLE article (id int NOT NULL AUTO_INCREMENT COMMENT 主键,user_id int NOT NULL COMMENT 作者 ID,title varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 文章标题,summary varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 文章概要,read_count int(11) UNSIGNED ZEROFILL NOT NULL COMMENT 阅读读数,create_time datetime NOT NULL COMMENT 创建时间,update_time datetime NOT NULL COMMENT 最后修改时间,PRIMARY KEY (id) USING BTREE ) ENGINE InnoDBAUTO_INCREMENT 1CHARACTER SET utf8mb4COLLATE UTF8MB4_0900_AI_CIROW_FORMAT Dynamic;DROP TABLE IF EXISTS article_detail; CREATE TABLE article_detail (id int NOT NULL AUTO_INCREMENT COMMENT 注解,article_id int NOT NULL COMMENT 文章 ID,content text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 文章内容,PRIMARY KEY (id) USING BTREE ) ENGINE InnoDBAUTO_INCREMENT 1CHARACTER SET utf8mb4COLLATE utf8mb4_0900_ai_ciROW_FORMAT Dynamic;# data.sql 文件 -- ---------------------------- -- Records of article -- ---------------------------- INSERT INTO article VALUES (1, 2021, MyBatis概述, MyBatis是半自动的ORM框架, 654897, 2024-01-26 03:11:12,2024-02-25 12:11:19); INSERT INTO article VALUES (2, 2324, Spring容器, IOC、AOP, 345, 2025-01-19 15:15:57, 2025-02-16 4:19:30);-- ---------------------------- -- Records of article_detail -- ---------------------------- INSERT INTO article_detail VALUES (1, 1, MyBatis是非常优秀的持久层框架);2创建一个maven项目 可以参考我的博客 IDEA 构建开发环境中的构建一个普通的Maven模块 2.编写代码 1打包方式和引入依赖 Maven中央仓库可以寻找自己需要的依赖。 !--pom.xml文件-- ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.gdb/groupIdartifactIdmybatis-code/artifactIdversion1.0-SNAPSHOT/version!--打包方式--packagingjar/packagingpropertiesmaven.compiler.source17/maven.compiler.sourcemaven.compiler.target17/maven.compiler.targetproject.build.sourceEncodingUTF-8/project.build.sourceEncoding/propertiesdependencies!--mybatis核⼼依赖--dependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.5.13/version/dependency!--mysql驱动依赖--dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.33/version/dependency/dependencies /project2新建mybatis-config.xml配置⽂件 在resources根⽬录下新建mybatis-config.xml配置⽂件可以参考mybatis⼿册拷⻉。 ?xml version1.0 encodingUTF-8 ? !DOCTYPE configurationPUBLIC -//mybatis.org//DTD Config 3.0//ENhttp://mybatis.org/dtd/mybatis-3-config.dtd configurationenvironments defaultdevelopmentenvironment iddevelopmenttransactionManager typeJDBC/dataSource typePOOLEDproperty namedriver valuecom.mysql.cj.jdbc.Driver/property nameurl valuejdbc:mysql://localhost:3306/使用的数据库名/property nameusername valueroot/property namepassword value自己的数据库密码!//dataSource/environment/environmentsmappers!--sql映射⽂件创建好之后需要将该⽂件路径配置到这⾥--mapper resource//mappers /configuration3新建XXXMapper.xml配置⽂件 在resources根⽬录下新建XXXMapper.xml配置⽂件可以参考mybatis⼿册拷⻉。 ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacearticleinsert idinsertArticleinsert into article values(null, 9874, JavaWeb, Filter, 645133, 2026-05-16 12:15:27, 2026-08-16 4:15:30);/insert /mapper将CarMapper.xml⽂件路径配置到mybatis-config.xml 中 mappers!--sql映射⽂件创建好之后需要将该⽂件路径配置到这⾥--mapper resourcearticleMapper.xml//mappers4编写测试代码 public class TestMyBatis {public static void main(String[] args) throws Exception{//获取 SqlSessionBuilder 对象SqlSessionFactoryBuilder builder new SqlSessionFactoryBuilder();//获取 SqlSessionFactory 对象Resources.getResourceAsReader默认从类的根路径下加载文件。//Resources是MyBatis提供的工具类源码是 ClassLoder.getSystemClassLoader().getResourceAsStream(类路径下的文件路径);SqlSessionFactory sqlSessionFactory builder.build(Resources.getResourceAsReader(mybatis-config.xml));//获取 SqlSession 对象SqlSession sqlSession sqlSessionFactory.openSession();//执行 SQL 语句int count sqlSession.insert(insertArticle);System.out.println(插入的记录条数 count);//MyBatis默认关闭的自动提交机制的sqlSession.commit();//释放资源sqlSession.close();} }5引入日志 关于mybatis集成日志组件。让我们调试起来更加的方便。 mybatis常见的集成的日志组件有那些呢 SLF4J(沙拉风)沙拉风是一个日志标准其中有一个框架叫做logback它实现了沙拉风规范。LOG4JLOG4J2STDOUT_LOGGING…注意log4j log4j2 logback 都是同一个作者开发的。 中STDOUT_LOGGING是标准日志mybatis已经实现了这种标准日志。mybatis框架本身已经实现了这种标准。只要开启即可。在mybatis-config.xml文件中使用settings标签进行配置开启。这个标签在编写的时候要注意它应该出现在environments标签之前。注意顺序。 settingssetting namelogImpl valueSTDOUT_LOGGING//settings6MyBatis第⼀个⽐较完整的代码写法 public class TestMyBatis {public static void main(String[] args) {SqlSession sqlSession null;try {// 1.创建SqlSessionFactoryBuilder对象SqlSessionFactoryBuilder sqlSessionFactoryBuilder new SqlSessionFactoryBuilder();// 2.创建SqlSessionFactory对象SqlSessionFactory sqlSessionFactory sqlSessionFactoryBuilder.build(Resources.getResourceAsStream(mybatis-config.xml));// 3.创建SqlSession对象sqlSession sqlSessionFactory.openSession();// 4.执⾏SQLint count sqlSession.insert(insertArticle);System.out.println(插入了⼏条记录 count);// 5.提交sqlSession.commit();} catch (Exception e) {// 回滚if (sqlSession ! null) {sqlSession.rollback();}e.printStackTrace();} finally {// 6.关闭if (sqlSession ! null) {sqlSession.close();}}} }7MyBatis⼯具类SqlSessionUtil的封装 public class MybatisUtils {private static SqlSessionFactory sqlSessionFactory;/*** 类加载时初始化sqlSessionFactory对象*/static {try {SqlSessionFactoryBuilder sqlSessionFactoryBuilder new SqlSessionFactoryBuilder();sqlSessionFactory sqlSessionFactoryBuilder.build(Resources.getResourceAsStream(mybatis-config.xml));} catch (Exception e) {e.printStackTrace();}}/*** 每调⽤⼀次openSession()可获取⼀个新的会话该会话⽀持⾃动提交。*/public static SqlSession openSession() {return sqlSessionFactory.openSession(true);} }public class TestMyBatis {public static void main(String[] args) {SqlSession sqlSession null;try {sqlSession MybatisUtils.openSession();// 4.执⾏SQLint count sqlSession.insert(insertArticle);System.out.println(插入了⼏条记录 count);// 5.提交sqlSession.commit();} catch (Exception e) {// 回滚if (sqlSession ! null) {sqlSession.rollback();}e.printStackTrace();} finally {// 6.关闭if (sqlSession ! null) {sqlSession.close();}}} }三、MyBatis事务管理深度剖析 在MyBatis-config.xml文件中可以通过以下的配置进行MyBatis的事务管理。transactionManager typeJDBC/type属性的值有两个不区分大小写 JDBC(jdbc)JDBC事务管理器。由MyBatis框架自己管理事务自己采用原生的JDBC代码去管理事务。默认是开启事务的需要自己手动的提交。可以通过以下的方式关闭事务SqlSession sqlSession sqlSessionFactory.openSession(true); //关闭事务(自动提交)MANAGED(manged) MANFGED事务管理器。mybatis不再负责事务的管理了。事务交给其他容器来负责。例如spring. 对于我们当前单纯只有mybatis的情况下如果设置为MANAGED那么事务这块就没人管了。没有人管理的事务压根就没有开启。 四、总结 Maven中央仓库MyBatis中文手册Resources 目录放在整个目录当中的一般都是资源文件配置文件。直接放到Resources 目录下的资源等同于放到类的根路径下。以后凡是遇到resource这个单词大部分情况下这种加载资源的方式就是从类的根路径下开始加载开始查找MyBatis中的主要对象 在Mybatis当中负责执行SQL语句的那个对象 SqlSession SqlSession是专门用来执行SQL语句的是一个Java程序和数据库之间的一次会话。 想要获取SqlSession对象需要先获取SqlSessionFactory对象通过SqlSessionFactory工厂来生产SqlSession对象。获取SqlSessionFactory对象需要首先获取SqlSessionFactoryBuilder对象。通过SqlSessionFactoryBuilder对象的build方法来获取一个SqlSessionFactory对象。 SqlSessionFactoryBuilder -- SqlSessionFactory -- SqlSessionmybatis中的两个主要的配置文件 其中一个是mybatis-config.xml这是核心配置文件主要配置连接数据库的信息等。(一个)另一个是XxxxMapper.xml,这个是专门来编写SQL语句的配置文件。(一个表一个)
http://www.zqtcl.cn/news/183622/

相关文章:

  • 还有哪些网站可以做淘宝活动企业建设网站的方式
  • 上海技术公司做网站2022引流人脉推广软件
  • 网站排名优化技术安徽省城乡和建设厅网站
  • 平阴县建设工程网站英文网站模板制作
  • 网站制作超链接怎么做厦门公司建站
  • 阿里云做的网站怎么备份建筑设计网站issuu
  • 网上做设计网站广西做网站找谁
  • 网站优化成本建设项目网站备案申请表
  • 做公众号首图网站上海短期网站建设培训
  • 网站开发最好佛山优化网站排名
  • 服务器搭建网站打不开网站建设信息平台
  • 宽屏蓝色企业网站源码如何编辑网站标题
  • 免费搭建手机网站广告公司怎么取名
  • 网站抓取超时错误c 高性能网站开发
  • 营销导向企业网站策划wordpress 不显示菜单
  • 特效视频网站用.net做视频网站的案例
  • 网站建设实用的网站视屏网站的审核是怎么做的
  • 网站模板之家免费下载福州网红餐厅
  • 西安网站设计与建设第三方检测机构
  • 手机网站推广法建设网站明细报价表
  • 一级a做爰片免费网站录像好商网的网站可以做中英文切换吗
  • 视频网站闪图怎么做网件路由器管理地址
  • 一个完整的网站建设网站模板去哪要
  • 烤漆 东莞网站建设水果香精东莞网站建设技术支持
  • 国家重大项目建设库网站北京网站开发外包公司
  • 建设免费网站制作二维码的软件app
  • 网站突然没收录了网站建设和运营的成本是多少钱
  • 家政公司网站模板wordpress防cc代码
  • 福田附近做网站公司网站反向链接
  • 南阳网站关键词哪做网站便宜