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

4399页游网站建立公司微信平台 网站平台

4399页游网站,建立公司微信平台 网站平台,wordpress商城主题 优化,dw网页制作模板素材以下说明时会以独立的Mybatis工程作为案例,但说明时会解释结合SpringBoot时的情景; 一、MyBatis 核心组件 学习Mybatis首先一定要有一种意识,Mybatis的使用主要依靠配置文件进行功能,虽然如今进化出注解的模式,但是&a…

以下说明时会以独立的Mybatis工程作为案例,但说明时会解释结合SpringBoot时的情景;


一、MyBatis 核心组件

学习Mybatis首先一定要有一种意识,Mybatis的使用主要依靠配置文件进行功能,虽然如今进化出注解的模式,但是,对于复杂的SQL语句的执行依然依靠配置文件最简单,但也不需要害怕配置文件,学习Mybatis可以帮助我们克服Maven配置文件带来的恐惧:

  1. 依赖引入文件:无论是独立的Maven工程还是对接SpringBoot工程,Mybatis的依赖引入是必不可少的
  2. 配置文件mybatis-config.xml这个很好理解,就是关于链接的数据库的信息,密码啦!用户啦!
  3. 映射文件XxxMapper.xml核心配置文件,也是功能的体现,只是有些语法太过别扭,但其实就是按Mybatis他自己包装的sql语句写得语句;
  4. POJO 类:这也是Mybatis的优势之一,建立一个与数据库表对应的实体类,在接收数据库返回的数据时就会自动将字段中的数据给实体类中对应的变量;
  5. Mapper 接口:具体功能的体现,其实就是和映射文件的每一条Mysql语句进行对应的;
  6. SqlSessionFactory:创建 SqlSession 的核心对象;不重要,因为在和SpringBoot对接后就不需要了;

二、代码示例

关于依赖注入文件就不多说了,逻辑很简单,用啥就调啥
1. 创建 POJO 类
public class User {private Integer id;private String name;private String email;// 必须添加相应的geter和seter方法
}
2. 全局配置文件 mybatis-config.xml(整体核心配置文件)

其实它的功能更相当于总司令,使整个Mybatis项目的说明中心,包括数据库的信息和相关配置文件的信息;

当然他能掌控不仅仅只是单个数据库的信息,甚至可以进行多数据库连接的配置,这里面具有很多的配置属性都可以进行多次尝试;

<?xml version="1.0" encoding="UTF-8" ?>
<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://localhost:3306/mydb"/><property name="username" value="root"/><property name="password" value="123456"/></dataSource></environment></environments><mappers><!-- 数据库操作的sql映射配置文件的声明文件 --><mapper resource="com/example/mapper/UserMapper.xml"/></mappers>
</configuration>
3. Mapper XML 映射文件 UserMapper.xml

一般放在SpringBoot项目中resource的文件夹里面,当然他的文件命名很有特点,他的文件命名必须要与mapper对应接口的地址相同;
但在springboot里面基本可以不使用这个配置文件;

<?xml version="1.0" encoding="UTF-8" ?>
<!-- namespace这个属性的数值必须是映射的Mapper接口的相对路径 -->
<mapper namespace="com.example.mapper.UserMapper"><!-- resultType里面放的是返回的实体类的相对路径 --><!-- id指得是这一条sql语句的唯一标识符 ,也是未来Mapper接口抽象方法的映射名字--><select id="selectUserById" resultType="com.example.pojo.User">SELECT * FROM users WHERE id = #{id}</select><insert id="insertUser" parameterType="com.example.pojo.User">INSERT INTO users(name, email) VALUES(#{name}, #{email})</insert>
</mapper>
4.Mapper 接口

为的是简化逻辑贴合java语法(但是感觉步骤没变少)将上述Mapper.XML文件的每一条SQL语句和接口的每一个抽象方法一一对应,以后再想使用Mapper.XML文件中的SQL语句直接调用接口就可以了,很方便,其实真正起作用的还是Mapper.XML文件中的代码,而Mapper接口对他的每一条语句进行了映射;

public interface UserMapper {// 以下抽象方法的名字必须和Mapper.XML文件中的id值一一对应;// 注意这个时候它的返回值就要和映射文件中的对应了User selectUserById(int id);void insertUser(User user);
}
5. 使用 MyBatis 执行操作(核心,如何去使用?)
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;public class Main {public static void main(String[] args) throws Exception {// 加载配置文件String resource = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);// 创建 SqlSessionFactorySqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);// 获取 SqlSessiontry (SqlSession session = sqlSessionFactory.openSession()) {//以上代码在与springboot的对接中基本不需要考虑,大概的意思就是拿到//一个控制Mybatis的一个对象// 获取 Mapper 映射的接口对象UserMapper mapper = session.getMapper(UserMapper.class);// 执行查询User user = mapper.selectUserById(1);System.out.println(user.getName());// 执行插入User newUser = new User("John", "john@example.com");mapper.insertUser(newUser);session.commit(); // 提交事务}}
}

三、注解方式(替代 XML 映射)

public interface UserMapper {@Select("SELECT * FROM users WHERE id = #{id}")User selectUserById(int id);@Insert("INSERT INTO users(name, email) VALUES(#{name}, #{email})")@Options(useGeneratedKeys = true, keyProperty = "id")void insertUser(User user);
}

四、核心概念说明

  1. #{} 和 ${}
    • #{value}:预编译参数(防止 SQL 注入)
    • ${value}:直接拼接 SQL(慎用)
  1. 动态 SQL
<select id="findUsers" parameterType="map" resultType="User">SELECT * FROM users<where><if test="name != null">AND name = #{name}</if><if test="email != null">AND email = #{email}</if></where>
</select>
  1. 结果映射
<resultMap id="userResultMap" type="User"><id property="id" column="user_id"/><result property="name" column="user_name"/>
</resultMap>

通过以上结构即可快速上手 MyBatis,根据需求选择 XML 或注解方式配置 SQL 映射。

http://www.dtcms.com/a/611752.html

相关文章:

  • 使用streamlit和qwen-agent实现Qwen3-VL模型图文对话应用的思路
  • ModelScope-Agent框架:前世今生与技术详解
  • EG3033 三相P/N MOS管栅极驱动芯片技术解析
  • XPath 实例
  • 网站建设 制作教程网站建设中 动态图片
  • 企业门户网站费用实验中心网站建设
  • 网站收录查询工具网站网站是怎么做的
  • 吉林分销网站建设外贸网站建设公司案例
  • seo sem 外贸建站 网站建设 文化墙设计泉州城乡建设网站
  • 广州网站seo地址c2c电子商务网站定制开发
  • eclipse做的网站欧洲卡一卡2卡3卡4卡
  • 模板站怎么改成营销型网站工作是工作
  • 中工信融营销型网站建设seo这个行业怎么样
  • 如何在测试覆盖不足后补充验证
  • 给人做网站能赚钱吗建设机械网站
  • 潘家园做网站的公司做网站的意义
  • 编译型语言基础教学 | 掌握编译过程与语言原理,提升编程能力
  • 中国空间站是干什么的河北邢台做wap网站
  • 如何做视频网站药品包装设计
  • 怎样给网站做排名优化怎样创建网站的代码
  • 郑州做网站推免费企业建站系统源码
  • 网站的搜索功能怎么做wordpress建站插件
  • 王烨洛阳手机seo排名
  • 北仑网站建设培训有没关于做动画设计师的网站
  • h5网站开发教程创建目录 wordpress
  • 网站做一下301跳转长春专业做网站公司哪家好
  • 采光板及采光瓦营销型网站建设photoshop属于什么软件
  • 【大模型】重磅升级!文心 ERNIE-5.0 新一代原生全模态大模型,这你都不认可它吗?!
  • 打不开wordpress站点海南网站建设平台
  • 如何一个空间放两个网站app外包接单