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

法语网站建站公司网页广告太多怎么办

法语网站建站公司,网页广告太多怎么办,网络广告效果评估,微网站的建设MyBatis简介 MyBatis用于持久层框架,持久层是对数据库操作的部分,前版本iBatis 由Apache软件基金组织进行更名并维护。 特点: 简化数据库的操作 SQL映射灵活(半ORM框架) 支持高级映射 易于集成维护 配置动态SQL 缓存机制 功能: 替代JDBC,JDBC是…
  • MyBatis简介

MyBatis用于持久层框架,持久层是对数据库操作的部分,前版本iBatis 由Apache软件基金组织进行更名并维护。

特点:

简化数据库的操作

SQL映射灵活(半ORM框架)

支持高级映射

易于集成维护

配置动态SQL

缓存机制

功能:

替代JDBC,JDBC是java中提供的用于操作数据库的技术及方案

  1. 数据库的连接控制难。连接池
  2. SQL语句硬编码。将sql语句存放到xml配置文件中
  3. 参数传递问题。提供类型适配器
  4. 返回值问题。响应对象注入

总结:

  1. MyBaits 让程序开发者的工作聚焦在业务成面而不是SQL处理的层面
  2. 抗拒数据格式不匹配的问题

执行原理

代码详解:

1、MyBatis的核心配置文件 通常命名为 mybatis-config.xml

它用于配置 MyBatis 的全局设置,包括数据库连接信息、事务管理器、数据源、映射文件等。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><!--    数据库连接相关配置--><environments default="development"><environment id = "development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="com.mysql.cj.jdbc.Driver"/><property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis"/><property name="username" value="root"/><property name="password" value="318605"/></dataSource></environment></environments><!--    关联映射文件--><mappers><mapper resource="UserMapper.xml" /></mappers>
</configuration>
  • <?xml version="1.0" encoding="UTF-8" ?>:声明这是一个 XML 文件,版本为 1.0,编码为 UTF-8。

  • <!DOCTYPE configuration ...>:声明这个 XML 文件遵循 MyBatis 3.0 的 DTD(文档类型定义),DTD 定义了 XML 文件的结构和规则。

  • <configuration> 根元素 所有配置都在这个标签内
  • environments 标签用于配置 MyBatis 的环境,default 属性指定默认使用的环境 ID
  • environment 标签定义了一个具体的环境配置,id 属性用于唯一标识这个环境。

  • transactionManager 标签用于配置事务管理器,type="JDBC" 表示使用 JDBC 事务管理器

  • dataSource 标签用于配置数据源,type="POOLED" 表示使用连接池数据源。

  • property 标签用于配置数据源的具体属性:

    • driver:数据库驱动类名。

    • url:数据库连接 URL。

    • username:数据库用户名。

    • password:数据库密码。

  • mappers 标签用于配置 MyBatis 的映射文件(Mapper 文件),mapper 标签指定了映射文件的位置,resource 属性指定了映射文件的路径。

这个 mybatis-config.xml 文件是 MyBatis 的核心配置文件,用于配置数据库连接、事务管理器、数据源和映射文件等信息。将它放在 resources 目录下是为了确保它在类路径中,MyBatis 能够正确加载并使用它。这种放置方式符合 Java 项目的标准结构,有助于项目的管理和维护。

2、数据库映射文件

<?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 = "org.example.dao.UserMapper"><select id = "selectUserById" parameterType="int" resultType="org.example.pojo.User">select * from user where id = #{id};</select><select id = "findUserByName" parameterType="string" resultType="org.example.pojo.User">select * from user where username like '%${value}%'</select>
</mapper>
  • mapper 标签是 Mapper 文件的根元素。

  • namespace 属性指定了这个 Mapper 文件的命名空间,通常是一个 Java 接口的全限定名(包括包名和类名)。MyBatis 会通过这个命名空间将 Mapper 文件与对应的 Java 接口绑定。

  • <select> 标签用于定义一条查询语句。

  • id 属性指定了这个 SQL 语句的唯一标识符,通常与 Java 接口中的方法名一致。

  • parameterType 属性指定了 SQL 语句的参数类型,这里是 int,表示传入的参数是一个整数。

  • resultType 属性指定了 SQL 语句的返回结果类型,这里是 org.example.pojo.User,表示查询结果会被映射到一个 User 对象中。

  • SQL 语句:select * from user where id = #{id}; 是一个简单的查询语句,#{id} 是 MyBatis 的参数占位符,表示传入的参数值。

3、用户类
 

package org.example.pojo;import java.util.Date;public class User {private int id;private String name;private Date Birthday;private int sex;private String phone;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Date getBirthday() {return Birthday;}public void setBirthday(Date birthday) {Birthday = birthday;}public int getSex() {return sex;}public void setSex(int sex) {this.sex = sex;}public String getPhone() {return phone;}public void setPhone(String phone) {this.phone = phone;}@Overridepublic String toString() {return "User{" +"id=" + id +", name='" + name + '\'' +", Birthday=" + Birthday +", sex=" + sex +", phone='" + phone + '\'' +'}';}
}

4、接口类

package org.example.dao;import org.example.pojo.User;public interface UserMapper {public User selectUserById(int id);
}

5、Test类


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 org.example.dao.UserMapper;
import org.example.pojo.User;
import org.junit.jupiter.api.Test;import java.io.IOException;
import java.io.InputStream;public class UserMapperTest {@Testpublic void findUserByIdTest() throws IOException {// 1. 加载mybatis核心配置文件String resource = "SqlMapConfig.xml";InputStream inputStream = Resources.getResourceAsStream(resource);// 2 创建SQL工厂// 3. 获取SQL工厂SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);// 获取sql会话SqlSession sqlSession = sqlSessionFactory.openSession();// 4.获取代理对象UserMapper userMapper = sqlSession.getMapper(UserMapper.class);// 5.执行sqlUser user = userMapper.selectUserById(31);System.out.println(user);sqlSession.close();}
}
  • @Test 注解表示这是一个 JUnit 测试方法。

  • SqlMapConfig.xml 是 MyBatis 的核心配置文件,通常包含数据库连接信息、事务管理器、数据源配置等。

  • Resources.getResourceAsStream 方法从类路径中加载配置文件,并返回一个输入流。

  • SqlSessionFactoryBuilder 用于解析配置文件并创建 SqlSessionFactory

  • SqlSessionFactory 是 MyBatis 的核心对象,用于创建 SqlSession

  • SqlSession 是 MyBatis 的核心接口,用于执行 SQL 语句、获取 Mapper 接口的代理对象以及管理事务。

  • openSession 方法创建一个新的 SqlSession 实例。

  • getMapper 方法根据接口类型动态生成 UserMapper 的代理对象。

  • 这个代理对象会与 Mapper 文件中的 SQL 语句绑定。

  • 调用 selectUserById 方法,传入用户 ID(这里是 31)。

  • MyBatis 会根据 Mapper 文件中的 SQL 语句执行查询,并将结果映射到 User 对象中。

  • 查询结果通过 System.out.println 输出。

注意如果对于 增加删除修改 需要使用sqlSession.commit() 提交事务

整体流程

  1. 加载核心配置文件

    • MyBatis 从 SqlMapConfig.xml 中读取全局配置,包括数据库连接信息、事务管理器、数据源等。

  2. 创建 SqlSessionFactory

    • 通过 SqlSessionFactoryBuilder 解析配置文件并创建 SqlSessionFactory

    • SqlSessionFactory 是线程安全的,通常在整个应用中只需要一个实例。

  3. 获取 SqlSession

    • 通过 SqlSessionFactory 创建 SqlSession

    • SqlSession 是 MyBatis 的核心对象,用于执行 SQL 语句和管理事务。

  4. 获取 Mapper 接口的代理对象

    • 通过 SqlSession.getMapper 方法获取 UserMapper 接口的代理对象。

    • 这个代理对象会与 Mapper 文件中的 SQL 语句绑定。

  5. 执行 SQL 查询

    • 调用 selectUserById 方法,MyBatis 会根据 Mapper 文件中的 SQL 语句执行查询。

    • 查询结果会被映射到 User 对象中。

  6. 关闭资源

    • 关闭 SqlSession,释放数据库连接资源。

文件之间的关系

  1. SqlMapConfig.xml

    • MyBatis 的核心配置文件,定义了全局配置和 Mapper 文件的位置。

    • 例如:

      <configuration><environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="com.mysql.cj.jdbc.Driver"/><property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis"/><property name="username" value="root"/><property name="password" value="318605"/></dataSource></environment></environments><mappers><mapper resource="UserMapper.xml"/></mappers>
      </configuration>

  2. UserMapper.xml

    • Mapper 映射文件,定义了 SQL 语句与 Java 方法的映射关系。

    • 例如:

      <mapper namespace="org.example.dao.UserMapper"><select id="selectUserById" parameterType="int" resultType="org.example.pojo.User">select * from user where id = #{id};</select>
      </mapper>

  3. UserMapper 接口

    • 定义了数据库操作的方法。

    • 例如:

      public interface UserMapper {User selectUserById(int id);
      }
  4. User 类

    • 表示用户实体,与数据库中的 user 表对应。

    • 例如:

      public class User {private int id;private String name;private Date Birthday;private int sex;private String phone;// getter 和 setter 方法
      }
  5. UserMapperTest 类

    • 测试类,用于验证 UserMapper 接口的功能。


总结

  • UserMapperTest 类:通过加载 MyBatis 配置文件、创建 SqlSessionFactory 和 SqlSession,获取 UserMapper 的代理对象,并执行 SQL 查询。

  • 整体流程:配置文件 → SqlSessionFactory → SqlSession → Mapper 代理对象 → SQL 查询 → 结果映射。

  • 文件关系

    • SqlMapConfig.xml 配置全局设置和 Mapper 文件位置。

    • UserMapper.xml 定义 SQL 语句与 Java 方法的映射。

    • UserMapper 接口定义数据库操作方法。

    • User 类表示用户实体。

  • 这种设计使得数据库操作更加面向对象,代码更加简洁和易于维护。


文章转载自:

http://gxKMQSoW.jmwrj.cn
http://mE3fWz68.jmwrj.cn
http://vYjW9XA3.jmwrj.cn
http://MffhvaTq.jmwrj.cn
http://XXEb0JDP.jmwrj.cn
http://SbJV4WXV.jmwrj.cn
http://NiaTFH2D.jmwrj.cn
http://40GrJJ5A.jmwrj.cn
http://Oia1r7fL.jmwrj.cn
http://lv3FfCpE.jmwrj.cn
http://7AheOZC6.jmwrj.cn
http://b5W2VN7L.jmwrj.cn
http://qrq3ExLM.jmwrj.cn
http://T750ig0u.jmwrj.cn
http://edXilNTn.jmwrj.cn
http://h27qNjGJ.jmwrj.cn
http://oiGaPQuF.jmwrj.cn
http://DVUTym84.jmwrj.cn
http://JLt3Q1BR.jmwrj.cn
http://oKpz9rJB.jmwrj.cn
http://zqPLsYZL.jmwrj.cn
http://cUAN4mab.jmwrj.cn
http://K8FwckpQ.jmwrj.cn
http://uYiNEeJN.jmwrj.cn
http://TJvm6oM1.jmwrj.cn
http://RvVabf8p.jmwrj.cn
http://GKmVcykF.jmwrj.cn
http://0UtS863x.jmwrj.cn
http://j9U62lWc.jmwrj.cn
http://vwyH52dK.jmwrj.cn
http://www.dtcms.com/wzjs/704278.html

相关文章:

  • 免费网站源码保险咨询免费
  • 广州网站建设公司万齐网络科技做业务在那几个网站上找客户端
  • 优秀手机网站案例企业网站的建设思维导图
  • 滁州建设网站深圳企业网站备案
  • 建设银行 产品管理中心网站google搜索引擎入口下载
  • 网线水晶头接法图解淄博seo网络推广
  • iis 网站绑定域名开发公司都有什么部门
  • 建网站手机怎么做wordpress手机投稿
  • 黄岛建网站成全视频在线观看高清版
  • 电商网站有哪些官网济南企业型网站
  • 西安市城乡建设管理局网站6企业网站建设方案撰写
  • 免费ps素材图片大全google seo
  • 合肥网站建设网页设计漳州本地新闻头条
  • 济南做网站互联网公司排名空调seo是什么意思
  • 门户网站建设的作用及意义网站更换ip地址
  • 厦门微网站建设公司哪家好网页设计网站开发
  • 佛山网站推广软件公司的英文网站
  • 装修网站怎么做的好建设电影网站视频
  • 自助建站自己要做网站的来看下网站开发建设公司电话
  • 深圳网站设计clhngrok 群晖wordpress
  • h5手机网站建设是什么意思专门做包包的网站
  • 万维网域名注册网站曲阜网站建设哪家便宜
  • 南山专业做网站公司怀集建设房管部门网站
  • asp.net网站开发典型模块与实例精讲源码社区
  • 做网站花了三万块源码下载工具
  • 网站后台做1个多少钱网站开发定制合同
  • 都匀市城乡建设局网站深圳出台多个利好政策
  • 广州网站建设方案案例石家庄网站建设制作
  • 外贸多语言网站免费源码贵州省城乡和住房建设厅网站首页
  • 做网站一般做多大的钓鱼网站网站怎么做