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

优化型网站的好处又拍云wordpress

优化型网站的好处,又拍云wordpress,wordpress admin init,wordpress 汽车租赁Spring Boot与MyBatis-Plus的高效集成 引言 在现代 Java 开发中#xff0c;MyBatis-Plus 作为 MyBatis 的增强工具#xff0c;以其简化 CRUD 操作和无需编写 XML 映射文件的特点#xff0c;受到了开发者的青睐。本篇文章将带你一步步整合 Spring Boot 与 MyBatis-PlusMyBatis-Plus 作为 MyBatis 的增强工具以其简化 CRUD 操作和无需编写 XML 映射文件的特点受到了开发者的青睐。本篇文章将带你一步步整合 Spring Boot 与 MyBatis-Plus并展示其在实际开发中的应用包括事务管理、安全性考虑、性能优化等高级特性。 环境准备 1.1 导入依赖 在 pom.xml 文件中添加 MyBatis-Plus 的起步依赖 dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.4.0/version /dependency确保使用 Maven Helper 插件检查依赖冲突。 1.2 修改配置文件 在 application.yml 中配置数据库连接和 MyBatis-Plus 参数 server:port: 8889 spring:datasource:url: jdbc:mysql://localhost:3306/boot_mybatis?serverTimezoneUTCuseUnicodetruecharacterEncodingutf-8AllowPublicKeyRetrievalTrueusername: rootpassword: 123456 mybatis-plus:mapper-locations: mapper/*.xmlconfiguration:log-impl: org.apache.ibatis.logging.stdout.StdOutImplmap-underscore-to-camel-case: truetype-aliases-package: com.example.demo.entity1.3 IUser 实体类 定义 IUser 实体类映射数据库中的用户表 Data TableName(t_user) public class IUser {TableId(value u_id, type IdType.AUTO)private Integer uId;TableField(user_name)private String userName;private String email;private String passWord;private Date birth;private int gender; }1.4 UserMapper 接口 创建 UserMapper 接口继承 BaseMapper Mapper public interface IUserMapper extends BaseMapperIUser {}使用 2.1 基础增删改查 新增一条 User 数据 Autowired private IUserMapper userMapper;Test public void insertUser() {IUser user new IUser();user.setUserName(曹操);user.setPassWord(88888888);user.setEmail(321qin.com);userMapper.insert(user); }根据条件删除 User Test public void deleteUserById() {userMapper.deleteById(1001); }2.2 批量操作 批量新增 Test public void batchInsertUsers() {ListIUser users Arrays.asList(new IUser().setUserName(关羽).setPassWord(258),new IUser().setUserName(关公).setPassWord(7530),new IUser().setUserName(关项).setPassWord(159));userMapper.insertBatch(users); }2.3 查询条件构造器【QueryWrapper】使用 使用 QueryWrapper 构造查询条件 Test public void selectUsersByQueryWrapper() {QueryWrapperIUser queryWrapper new QueryWrapper();queryWrapper.eq(user_name, 项羽).like(email, 123163.com);userMapper.selectList(queryWrapper); }2.4 修改条件构造器【UpdateWrapper】使用 使用 UpdateWrapper 构造更新条件 Test public void updateUserByUpdateWrapper() {UpdateWrapperIUser updateWrapper new UpdateWrapper();updateWrapper.eq(user_name, 王小五).set(email, wxwqq.com);userMapper.update(null, updateWrapper); }2.5 事务管理 事务的配置 在服务层方法上使用 Transactional 注解来确保操作的原子性。 Service public class UserService {Autowiredprivate IUserMapper userMapper;Transactionalpublic void updateUserAndSendEmail(String userName, String newEmail) {// 更新用户信息IUser user new IUser();user.setUserName(userName);user.setEmail(newEmail);userMapper.updateById(user);// 发送邮件操作示例sendEmailToUser(userName, newEmail);}private void sendEmailToUser(String userName, String email) {// 邮件发送逻辑} }事务的传播行为 Spring 支持多种事务传播行为可以根据业务需求配置。 2.6 安全性考虑 防止 SQL 注入 MyBatis-Plus 通过预编译的语句防止 SQL 注入。 数据加密 在应用层对敏感数据进行加密比如用户密码的存储和验证。 public class SecurityUtils {public static String encryptPassword(String password) {// 加密密码逻辑}public static boolean checkPassword(String rawPassword, String encryptedPassword) {// 验证密码逻辑} }代码生成器 3.1 准备项目和数据库表 准备一个 Spring Boot 空项目并创建数据库表 CREATE TABLE t_user (u_id int NOT NULL AUTO_INCREMENT COMMENT 主键,user_name varchar(10) NOT NULL COMMENT 用户登录名,email varchar(50) DEFAULT NULL COMMENT 邮箱,pass_word varchar(30) NOT NULL COMMENT 密码,...PRIMARY KEY (u_id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb3;3.2 引入依赖 在 pom.xml 中添加代码生成器的依赖 dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-generator/artifactIdversion3.4.0/version /dependency dependencygroupIdorg.apache.velocity/groupIdartifactIdvelocity-engine-core/artifactIdversion2.0/version /dependency3.3 配置文件 在 application.yml 中配置数据库连接 spring:datasource:url: jdbc:mysql://localhost:3306/generate?serverTimezoneUTCuseUnicodetruecharacterEncodingutf-8AllowPublicKeyRetrievalTrueusername: rootpassword: 123456driver-class-name: com.mysql.cj.jdbc.Driver3.4 测试工具类 创建一个测试工具类用于自动生成代码 public class CodeGenerator {public static void main(String[] args) {AutoGenerator mpg new AutoGenerator();mpg.setDataSource(new DataSourceConfig.Builder().setUrl(jdbc:mysql://localhost:3306/generate?serverTimezoneUTCuseUnicodetruecharacterEncodingutf-8AllowPublicKeyRetrievalTrue).setDriverName(com.mysql.cj.jdbc.Driver).setUsername(root).setPassword(123456).build());mpg.setGlobalConfig(new GlobalConfig.Builder().setOutputDir(System.getProperty(user.dir) /src/main/java).setAuthor(Your Name).setOpen(false).build());mpg.setPackageInfo(new PackageConfig.Builder().setParent(com.example.demo).setEntity(entity).setMapper(mapper).setService(service).setController(controller).build());mpg.setStrategy(new StrategyConfig.Builder().setInclude(t_user).build());mpg.execute();} }3.5 生成目录结构 运行上述测试工具类生成项目的目录结构。 3.6 调整和测试 调整生成的 Mapper XML 文件位置并在 Mapper 接口上添加 Mapper 注解。在启动类上添加 MapperScan 注解。然后进行测试例如新增一个用户 Autowired private TUserMapper userMapper;Test public void testInsertUser() {TUser user new TUser();user.setUserName(王中王);user.setPassWord(wzw123456);userMapper.insert(user); }总结与学习成果 本篇文章您将能够获得以下知识和技能 环境搭建您将学会如何在 Spring Boot 项目中引入 MyBatis-Plus并配置必要的依赖和数据库连接。 实体类与Mapper接口您将了解如何创建实体类来映射数据库表以及如何定义 Mapper 接口来操作数据库。 CRUD操作您将掌握使用 MyBatis-Plus 进行基础的增删改查操作包括单条记录和批量操作的处理。 条件构造器您将学会使用 QueryWrapper 和 UpdateWrapper 来构建复杂的查询和更新条件提高代码的可读性和维护性。 事务管理您将了解如何在服务层方法上使用 Transactional 注解来确保数据库操作的原子性。 安全性实践您将学到如何防止 SQL 注入攻击并对敏感数据进行加密处理增强应用的安全性。 性能优化您将探索查询优化技巧和缓存策略以提高数据库操作的性能。 版本兼容性与迁移您将了解不同版本的 MyBatis-Plus 之间的差异并学会如何将旧版本迁移到新版本。 实际应用场景您将通过实际案例分析了解 MyBatis-Plus 在解决实际问题中的应用。 监控与日志您将学会如何配置和使用 MyBatis-Plus 的日志记录功能以及如何监控数据库操作的性能。 代码生成器您将掌握如何使用 MyBatis-Plus 提供的代码生成器来快速生成项目代码提高开发效率。 通过这些内容您不仅能够深入了解 MyBatis-Plus 的强大功能还能够将这些知识应用到实际项目中提升您的开发能力和项目质量。希望这篇文章能够帮助您在 Spring Boot 和 MyBatis-Plus 的学习之路上更进一步。 你掌握了那些或遇到那些问题欢迎评论留言进行讨论
http://www.dnsts.com.cn/news/186189.html

相关文章:

  • 做一家仓储用地的网站常见的三种网站类型
  • 建设单位企业锁登陆网站wordpress 显示大图
  • 廊坊电商网站建设西安网优项目公司
  • 自己做网站的给微信取个什么名字好哪个电商平台最好
  • 衡水网站建设费用红豆影视传媒有限公司
  • 友链网站降权合肥关键词排名提升
  • 汕头seo关键词排名网站排名网站优化
  • 坚持网站机制建设2023电商平台排行
  • 北京网站建设联系电话百度网站上做推广受骗
  • 郑州做网站外包的公司有哪些用zend做饿了么网站
  • 如何抄袭网站公司建设网站的通知书
  • 网站建设最好用什么语言大型门户网站都有
  • 怎样做网站的排名百度官方电话人工服务电话
  • 什么样的网站需要备案摄影网站设计
  • 网站带gov后缀主流网站关键词排名
  • 建设银行网站适用浏览器学生想搭建网站怎么做
  • 域名注册在那个网站好手机应用下载网站源码
  • 做网站开源更多标签的下载方法
  • 如何用word做简单的网站桥梁建设 网站
  • 视频购物网站开发方案微生成网站
  • 云建站空间做背景网站
  • 做企业网站注意安微凤阳县建设局网站
  • 做presentation的网站菏泽到濮阳
  • 微信网站建设哪家好青岛seo排名收费
  • 用织梦做网站需不需授权企业网站开发
  • 网站标题更新优化模型
  • 西安机场商务宾馆百度做网站四川攀枝花网站建设
  • 做电子商务网站建设工资多少怎么做球球业务网站
  • 成都的网站设计公司价格大连网站设计案例
  • 标准化班组建设网站泸州市建设局网站