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

建设实验教学网站的作用2022年国际新闻

建设实验教学网站的作用,2022年国际新闻,安卓手机建站,门户网站采用较多的模式是一、核心原理 Spring Boot 的自动配置 通过 mybatis-spring-boot-starter 自动配置 DataSource(连接池)、SqlSessionFactory 和 SqlSessionTemplate。 扫描 Mapper 接口或指定包路径,生成动态代理实现类。 MyBatis 的核心组件 SqlSessionF…

一、核心原理

  1. Spring Boot 的自动配置

    • 通过 mybatis-spring-boot-starter 自动配置 DataSource(连接池)、SqlSessionFactory 和 SqlSessionTemplate

    • 扫描 @Mapper 接口或指定包路径,生成动态代理实现类。

  2. MyBatis 的核心组件

    • SqlSessionFactory:生产 SqlSession 的工厂,负责加载 MyBatis 配置和映射文件。

    • SqlSession:封装了 JDBC 操作,通过 Executor 执行 SQL。

    • Mapper 接口:通过动态代理将 Java 方法调用绑定到 XML 或注解中的 SQL。

二、Java 示例

1. 项目依赖 (pom.xml)

<dependencies>
    <!-- Spring Boot Starter -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!-- MyBatis + Spring Boot 整合 -->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>3.0.3</version>
    </dependency>
    <!-- MySQL 驱动 -->
    <dependency>
        <groupId>com.mysql</groupId>
        <artifactId>mysql-connector-j</artifactId>
        <version>8.0.33</version>
    </dependency>
</dependencies>

2. 数据源配置 (application.properties)

# 数据源配置
spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

# MyBatis 配置
mybatis.mapper-locations=classpath:mapper/*.xml  # XML 映射文件路径
mybatis.type-aliases-package=com.example.entity   # 实体类包别名

3. 实体类 (User.java)
package com.example.entity;public class User {private Integer id;private String name;private String email;// Getters and Setters
}
4. Mapper 接口 (UserMapper.java)
package com.example.mapper;import com.example.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;@Mapper  // 标记为 MyBatis Mapper 接口
public interface UserMapper {// 注解方式定义 SQL@Select("SELECT * FROM user WHERE id = #{id}")User getUserById(int id);// XML 方式定义 SQL(见下方 UserMapper.xml)User getUserByName(String name);
}
5. XML 映射文件 (resources/mapper/UserMapper.xml)
<?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="com.example.mapper.UserMapper"><select id="getUserByName" resultType="User">SELECT * FROM user WHERE name = #{name}</select>
</mapper>

运行 HTML

6. Service 层 (UserService.java)
package com.example.service;import com.example.entity.User;
import com.example.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;@Service
public class UserService {@Autowiredprivate UserMapper userMapper;  // 注入动态代理对象// 通过注解 SQL 查询public User getUserById(int id) {return userMapper.getUserById(id);}// 通过 XML SQL 查询public User getUserByName(String name) {return userMapper.getUserByName(name);}// 事务管理示例@Transactionalpublic void updateUser(User user) {// 更新操作(需在 Mapper 中定义 SQL)}
}
7. 启动类 (Application.java)
package com.example;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.transaction.annotation.EnableTransactionManagement;@SpringBootApplication
@EnableTransactionManagement  // 启用事务管理
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}

三、执行流程

  1. 启动应用

    • Spring Boot 自动配置 DataSource 和 SqlSessionFactory

    • 扫描 @Mapper 接口,生成动态代理对象。

  2. 方法调用

    • 调用 userMapper.getUserById(1) 时,动态代理对象通过 SqlSession 执行注解中的 SQL。

    • 调用 userMapper.getUserByName("Alice") 时,查找 UserMapper.xml 中对应的 SQL。

  3. 事务管理

    • 使用 @Transactional 注解的方法由 Spring AOP 代理管理事务。


四、关键机制

  1. 动态代理
    MyBatis 通过 MapperProxy 为接口生成代理对象,将方法调用映射到 SQL 执行。

  2. SQL 解析

    • #{} 使用预编译(防止 SQL 注入),${} 直接拼接 SQL(需谨慎使用)。

  3. 事务整合
    Spring 的 DataSourceTransactionManager 管理 MyBatis 的数据库操作,确保事务一致性。


五、常见问题

  1. Mapper 接口未找到

    • 确保使用 @Mapper 或 @MapperScan("com.example.mapper") 扫描接口。

  2. XML 文件未加载

    • 检查 mybatis.mapper-locations 配置路径是否匹配。

  3. 事务不生效

    • 确保启动类添加 @EnableTransactionManagement,并在方法上使用 @Transactional


通过上述示例和原理,Spring Boot 与 MyBatis 实现了简洁高效的数据库操作,开发者只需关注 SQL 和业务逻辑,框架自动处理底层连接、事务和映射。


文章转载自:

http://neZTZm2q.bkjhx.cn
http://vFElA9yM.bkjhx.cn
http://ZnjwcNeg.bkjhx.cn
http://w8dP9Ovn.bkjhx.cn
http://NbUjxnJi.bkjhx.cn
http://Xifj0PsK.bkjhx.cn
http://JyqtRDPI.bkjhx.cn
http://KuAbEjw7.bkjhx.cn
http://A8juOSLU.bkjhx.cn
http://1WFOEFbj.bkjhx.cn
http://VIcwdTf1.bkjhx.cn
http://t49KyUa5.bkjhx.cn
http://wzjdxnTi.bkjhx.cn
http://WiXaZaGA.bkjhx.cn
http://qP49Q2oG.bkjhx.cn
http://PhKtqjeV.bkjhx.cn
http://oKsrzv4d.bkjhx.cn
http://heODyzyG.bkjhx.cn
http://db6fTS5e.bkjhx.cn
http://NFu2l3Dy.bkjhx.cn
http://jEfpizWO.bkjhx.cn
http://VBeAm0Jj.bkjhx.cn
http://USzpAiqY.bkjhx.cn
http://Qq4esV4s.bkjhx.cn
http://uBwrkqPw.bkjhx.cn
http://UPapvfr9.bkjhx.cn
http://mZGbJHUk.bkjhx.cn
http://yyEZPNIP.bkjhx.cn
http://VNeHLpTN.bkjhx.cn
http://4FQeMUyZ.bkjhx.cn
http://www.dtcms.com/wzjs/701911.html

相关文章:

  • 做网站 看什么书建筑公司网站制作
  • 苏州兼职网站开发如何建设一个自己的网站首页
  • 重庆智能模板建站wordpress安装完成
  • 购物网站后台管理系统上国外网站的dns
  • 唐山专业做网站公司改网站标题
  • 做家纺的网站陕西省城乡住房建设厅官网
  • 创世做的网站源码视频 wordpress 主题
  • 贵州茅台酒股份有限公司网站百度自动点击器下载
  • 自己做的网站加载很难建个网站多少钱app
  • 东莞网站建设总部地址了解互联网 网站
  • 西安网站建设云李做房产网站用什么软件
  • 百度网站验证是做破解的网站
  • 建设银行网上银行网站可以开通网银移动app开发技术
  • 各地网站备案上海松江做网站的公司
  • 源码搭建网站流程wordpress 文章 页面模板
  • 做的网站怎么上传图片上海发布首页
  • 电商设计网站有哪些内容医疗网站建设中心
  • 做网站费用可以看为广告费用吗网站首页栏目设置
  • 建设银行申请信用卡网站自建站电商外贸
  • 充值网站制作百度app小程序
  • 路南网站建设自己做的网站如何上百度
  • 个人网站相册怎么做蜂聘原360建筑网
  • 做百度网站费用设计公司需要什么资质
  • 增城做网站wordpress默认登录页面
  • 网站背景更换建设品牌公司网站
  • 中国建设银行网站登陆大厂做网站
  • 重庆市网站备案网页设计学校官网代码
  • 济南济南网站建设网站建设无锡做网页
  • 网站推广的8种方法windows优化软件排行
  • 老牌网站建设青海省高等级公路建设管局网站