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

中国网站设计模板下载兰州西固区公司网站建设

中国网站设计模板下载,兰州西固区公司网站建设,有效果的网站排名,wordpress主题sleo文章目录1. MyBatis 简介2. 增删改查(CRUD)实现3. 日志配置1. MyBatis 简介 MyBatis 是一个开源的 Java 持久层框架,用于简化数据库操作。它不是全自动的 ORM(对象关系映射),而是半自动框架,允…

文章目录

  • 1. MyBatis 简介
  • 2. 增删改查(CRUD)实现
  • 3. 日志配置

1. MyBatis 简介

MyBatis 是一个开源的 Java 持久层框架,用于简化数据库操作。它不是全自动的 ORM(对象关系映射),而是半自动框架,允许开发者直接编写 SQL,提供灵活的映射机制。主要特点:

  • SQL 与代码分离:SQL 语句写在 XML 或注解中,避免硬编码。
  • 动态 SQL:支持条件判断、循环等动态生成 SQL。
  • 轻量级:无侵入性,易于集成到 Spring 等框架。
  • 高性能:通过缓存和批处理优化性能。

核心组件:

  • SqlSessionFactory:创建 SqlSession 的工厂,基于配置文件构建。
  • SqlSession:执行 SQL 操作的核心接口。
  • Mapper:定义数据库操作的接口(XML 或注解实现)。

2. 增删改查(CRUD)实现

以下基于 MyBatis 的 XML 映射方式实现 CRUD。假设有一个 User 实体类:

public class User {private Long id;private String name;private String email;// 省略 getter/setter
}
  1. 创建(Insert)
  • Mapper 接口
    public interface UserMapper {void insertUser(User user);
    }
    
  • XML 映射文件(UserMapper.xml)
    <insert id="insertUser" parameterType="User">INSERT INTO users (name, email) VALUES (#{name}, #{email})
    </insert>
    
  • 使用示例
    SqlSession session = sqlSessionFactory.openSession();
    UserMapper mapper = session.getMapper(UserMapper.class);
    User user = new User(null, "Alice", "alice@example.com");
    mapper.insertUser(user);
    session.commit(); // 提交事务
    session.close();
    
  1. 读取(Select)
  • Mapper 接口
    public interface UserMapper {User selectUserById(Long id);List<User> selectAllUsers();
    }
    
  • XML 映射文件
    <select id="selectUserById" resultType="User">SELECT * FROM users WHERE id = #{id}
    </select>
    <select id="selectAllUsers" resultType="User">SELECT * FROM users
    </select>
    
  • 使用示例
    User user = mapper.selectUserById(1L);
    List<User> users = mapper.selectAllUsers();
    
  1. 更新(Update)
  • Mapper 接口
    public interface UserMapper {void updateUser(User user);
    }
    
  • XML 映射文件
    <update id="updateUser" parameterType="User">UPDATE users SET name = #{name}, email = #{email}WHERE id = #{id}
    </update>
    
  • 使用示例
    User user = mapper.selectUserById(1L);
    user.setName("Bob");
    mapper.updateUser(user);
    session.commit();
    
  1. 删除(Delete)
  • Mapper 接口
    public interface UserMapper {void deleteUser(Long id);
    }
    
  • XML 映射文件
    <delete id="deleteUser" parameterType="Long">DELETE FROM users WHERE id = #{id}
    </delete>
    
  • 使用示例
    mapper.deleteUser(1L);
    session.commit();
    

3. 日志配置

MyBatis 使用 SLF4J 作为日志门面,支持 Log4j、Logback 等实现。配置日志可监控 SQL 执行细节,便于调试。

步骤:

  1. 添加日志依赖(以 Log4j2 为例,在 Maven 的 pom.xml 中):

    <dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>2.17.1</version>
    </dependency>
    <dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-slf4j-impl</artifactId><version>2.17.1</version>
    </dependency>
    
  2. 创建 Log4j2 配置文件(log4j2.xml)

    <?xml version="1.0" encoding="UTF-8"?>
    <Configuration><Appenders><Console name="Console" target="SYSTEM_OUT"><PatternLayout pattern="%d{HH:mm:ss} [%t] %-5level %logger{36} - %msg%n"/></Console></Appenders><Loggers><!-- 设置 MyBatis 的日志级别为 DEBUG --><Logger name="org.mybatis" level="DEBUG" additivity="false"><AppenderRef ref="Console"/></Logger><Root level="ERROR"><AppenderRef ref="Console"/></Root></Loggers>
    </Configuration>
    
  3. 在 MyBatis 配置文件中启用日志(mybatis-config.xml):

    <configuration><settings><!-- 设置日志实现为 SLF4J --><setting name="logImpl" value="SLF4J"/></settings>
    </configuration>
    

日志输出示例:
执行 SQL 时,控制台会打印:

14:30:22 [main] DEBUG org.mybatis.example.UserMapper.selectUserById - ==>  Preparing: SELECT * FROM users WHERE id = ? 
14:30:22 [main] DEBUG org.mybatis.example.UserMapper.selectUserById - ==> Parameters: 1(Long)
14:30:22 [main] DEBUG org.mybatis.example.UserMapper.selectUserById - <==      Total: 1

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

相关文章:

  • 免费网站代码大全免费网站托管平台
  • 四川城乡住房城乡建设厅网站网站整体色调
  • 梧州网站优化价格做网站都需要租服务器吗
  • 政务网站建设相关文件工程装修
  • 局域网手动vxlan集中式网关整体配置方案
  • 如何访问服务器上的网站苏州免费网站制作
  • 沧州外贸网站建设青岛 茶叶网站建设
  • 国外优秀的平面设计网站云南省建设厅网站查询
  • 在哪里找做网站的客户食品网站网页设计
  • 常州公诚建设项目管理有限公司官方网站佛山网络科技公司有哪些
  • 湖南网站推广建设公司网站注销备案
  • 哪个网站做新中式技术研发流程的六个阶段
  • 开源快速网站搭建平台山东港基建设集团网站
  • 网站优化 书wordpress能建什么网站
  • 毕设DW做网站的过程妇幼保健院人流价格表
  • 浙江省城乡住房建设厅网站信息中心完成网站建设
  • 做网站卖高仿什么是网站建设技术
  • 建设论坛网站自学上海工程建设咨询有限公司
  • 查询网站备案进度查询乐清网站改版公司
  • 建设银行网站不能登录密码北京市建设工程交易服务平台
  • wordpress 中英文网站网站建设企业邮箱制作网站
  • 什么网站可以做相册视频去哪里学习wordpress
  • 企业 宣传 还要网站吗自己做微网站
  • 网站维护中要多久才能重新进入北京注册公司代理机构
  • 哪个网站做外贸比较好建筑工程有哪些项目
  • 网站备案期间 权重沈阳个人网站制作
  • 网站后台数据应该怎么做梅州百度seo公司
  • 南通网站建设案例wordpress ftp插件
  • 知名的饰品行业网站开发青岛专业网络推广定制
  • 中国建设网站齐齐哈尔市网站的布局和配色