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

客户案例 网站建设网站html5自适应

客户案例 网站建设,网站html5自适应,免费永久空间,帮别人做网站的公司Spring Boot 前言Spring Boot 整合 JDBCSpring Boot 整合 Druid 数据源Spring Boot 整合 MyBatisSpring Boot 整合 JPA 前言 在 Spring Boot #xff1a;Web开发之视图模板技术的整合 文章中#xff0c;介绍了 Spring Boot 整合视图模板技术。然而#xff0c;仅仅整合视图模… Spring Boot 前言Spring Boot 整合 JDBCSpring Boot 整合 Druid 数据源Spring Boot 整合 MyBatisSpring Boot 整合 JPA 前言 在 Spring Boot Web开发之视图模板技术的整合 文章中介绍了 Spring Boot 整合视图模板技术。然而仅仅整合视图模板技术可能还不能满足所有业务需求因此还需要进一步扩展 Spring MVC 的默认配置。 简单补充说明 扩展 Spring Boot 中的 Spring MVC 默认配置通常涉及实现 WebMvcConfigurer 接口以自定义视图解析器、拦截器等使用 ControllerAdvice 处理全局异常和数据绑定自定义参数解析器和返回值处理器配置 CORS 、静态资源处理、异常映射等以及通过 Bean 定义或覆盖默认 Bean 。这些操作有助于满足特定业务需求但需注意避免与自动配置冲突。 在 Spring Boot 学习中已初步了解到开发 Web 项目时构建完整应用的两个关键步骤——视图显示和业务逻辑代码的编写。但是一个完整的应用往往还需要与数据库进行交互以实现数据的持久化存储和检索。通过整合数据库可以利用 Spring Boot 的自动配置和简化特性高效地管理数据库连接、执行 CRUD 操作并确保数据的安全性和一致性。下面简单介绍 Spring Boot 整合数据库。 Spring Boot 整合 JDBC Spring Boot 整合 JDBC 的过程相对简单其提供了自动配置来简化 JDBC 的配置。 简单示例 首先创建新项目 SpringBootIntegJDBC 注 在勾选启动器上勾选 Web 、JDBC 和 MySQL 然后在 application.properties 全局配置文件中只需要配置数据库连接信息关于 Spring 数据源在 Spring Boot 中有默认配置 spring.datasource.usernameroot spring.datasource.password0123 spring.datasource.urljdbc:mysql://localhost:3306/springbootintegjdbc spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driver最后在 SpringBootIntegJdbcApplicationTests 测试类中进行测试 package cn.edu.SpringBootIntegJDBC;import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.jdbc.core.JdbcTemplate;import javax.sql.DataSource; import java.sql.Connection; import java.sql.SQLException; import java.util.List; import java.util.Map; import java.util.Objects;SpringBootTest class SpringBootIntegJdbcApplicationTests {Autowiredprivate DataSource dataSource;Autowiredprivate JdbcTemplate jdbcTemplate;Testvoid contextLoads() throws SQLException { // // 输出数据源类型Spring Boot 默认的数据源为 HikariDataSource 而不是 C3P0 // System.out.println(dataSource.getClass()); // // 获取数据库的连接对象 // Connection connection dataSource.getConnection(); // System.out.println(connection); // connection.close();// 获取 springbootintegjdbcdemo 表的所有记录ListMapString, Object maps jdbcTemplate.queryForList(select id,name from springbootintegjdbcdemo);System.out.println(maps);} }结果如图 Spring Boot 整合 Druid 数据源 Druid 常见问题 Druid 是阿里巴巴推出的一款开源的高性能数据库连接池提供了强大的监控和扩展功能支持所有 JDBC 兼容的数据库如 Oracle、MySQL、SQL Server 等。Spring Boot 默认使用 HikariCP 作为数据源 HikariDataSource 是基于 HikariCP 连接池实现的 Java 数据库连接池但 Druid 由于其出色的性能和监控功能在实际开发中也很受欢迎。 Spring Boot 整合 Druid 数据源的过程也相对直接。 简单示例 首先创建新项目 SpringBootIntegDruid 并在 pom.xml 中添加以下依赖 !-- https://mvnrepository.com/artifact/com.alibaba/druid -- dependencygroupIdcom.alibaba/groupIdartifactIddruid/artifactIdversion1.2.20/version /dependency!-- https://mvnrepository.com/artifact/log4j/log4j -- dependencygroupIdlog4j/groupIdartifactIdlog4j/artifactIdversion1.2.16/version /dependency!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -- dependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion3.1.0/versionscopeprovided/scope /dependency注 在勾选启动器上勾选 Web 、JDBC 、 MySQL 和 Thymeleaf 然后在 resources 目录下创建 log4j.properties 资源文件并进行以下配置 #日志级别,分为八个级别 Off-关闭日志记录 Fatal-严重错误 Error-错误 Warn-警告 Info-运行信息 Debug-调试 Trace-低级信息 All-所有日志记录 #日志级别越高过滤的信息越多#配置根节点 log4j.rootLoggerDebug,stdout,D #配置控制台输出 log4j.appender.stdoutorg.apache.log4j.ConsoleAppender log4j.appender.stdout.TargetSystem.out log4j.appender.stdout.ThresholdInfo ##输出格式%d %p [%1] %m %n——日期时间 类 路径 信息 换行 log4j.appender.stdout.layoutorg.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern%d %p [%l] %m %n#配置文件输出 log4j.appender.Dorg.apache.log4j.DailyRollingFileAppender log4j.appender.D.Appendtrue log4j.appender.D.File./log4j.log log4j.appender.D.ThresholdDebug #输出格式 log4j.appender.D.layoutorg.apache.log4j.PatternLayout log4j.appender.D.layout.ConversionPattern%d %p [%l] %m %n接着在 application.properties 全局配置文件中进行 type 配置而改变数据源。并且还需要配置 Druid 数据源特性 Spring Boot 默认配置中没有 DruidDataSource 配置 spring.datasource.usernameroot spring.datasource.password0123 spring.datasource.urljdbc:mysql://localhost:3306/springbootintegjdbc spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driver #type 配置而改变数据源 spring.datasource.typecom.alibaba.druid.pool.DruidDataSource #配置 Druid 数据源特性 spring.datasource.initialSize5 spring.datasource.minIdle5 spring.datasource.maxActive20 spring.datasource.maxWait60000 spring.datasource.timeBetweenEvictionRunsMillis60000 spring.datasource.minEvictableIdleTimeMillis300000 spring.datasource.validationQueryselect 1 spring.datasource.testWhileIdletrue spring.datasource.testOnBorrowfalse spring.datasource.testOnReturnfalse spring.datasource.poolPreparedStatementstrue #配置监控统计拦截的 filters 去掉后监控界面 sql 无法统计wall 用于防火墙 spring.datasource.filtersstat,wall,log4j spring.datasource.maxPoolPreparedStatementPerConnectionSize20 spring.datasource.useGlobalDataSourceStattrue spring.datasource.connectionPropertiesdruid.stat.mergeSqltrue;druid.stat.slowSqlMillis500随之创建 Configuration 包并在包内创建一个 DruidConfiguration 类 package cn.edu.SpringBootIntegDruid.Configuration;import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.support.jakarta.StatViewServlet; import com.alibaba.druid.support.jakarta.WebStatFilter; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.boot.web.servlet.ServletRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;import javax.sql.DataSource; import java.util.Arrays; import java.util.HashMap; import java.util.Map;// 通过配置类创建数据源对象并手动获取这些配置配置到数据源 Configuration public class DruidConfiguration {ConfigurationProperties(prefix spring.datasource) // 把配置 Druid 数据源特性值注入到 DruidDataSource 对象中Bean // 返回对象存放到 Spring IoC 容器中public DataSource dataSource(){return new DruidDataSource();}// 配置监控整个 Web 应用Beanpublic ServletRegistrationBean getStatViewServlet(){ServletRegistrationBean servletRegistrationBean new ServletRegistrationBean(new StatViewServlet());// 映射 /druid/ 下的所有地址到 StatViewServletString[] urlArr new String[]{/druid/*};// 设置对本 Servlet 的 url 映射地址servletRegistrationBean.setUrlMappings(Arrays.asList(urlArr));// druid 后台页面基本设置MapString,String stringMap new HashMap();// 后台登录用户账号stringMap.put(loginUsername,admin);// 后台登录用户密码stringMap.put(loginPassword,admin);// 安全性设置允许 ip 地址能否访问stringMap.put(allow, ); // 设置为空字符则任何 ip 地址都可以访问 druid 监控后台// stringMap.put(deny,ip地址) // 指定某个 ip 地址不可访问servletRegistrationBean.setInitParameters(stringMap);return servletRegistrationBean;}// 配置 Web 监控的拦截器 filterBeanpublic FilterRegistrationBean getWebStatFilter(){FilterRegistrationBean filterRegistrationBean new FilterRegistrationBean(new WebStatFilter());// 除了外拦截所有请求filterRegistrationBean.setUrlPatterns(Arrays.asList(new String[]{/*}));MapString,String stringMap new HashMap();stringMap.put(exclusions,/druid/*,*.js,*.css,*.jpg,*.png);return filterRegistrationBean;} }再创建 Controller 包并在包内创建一个 DruidDemoController 类 package cn.edu.SpringBootIntegDruid.Controller;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping;import java.util.List; import java.util.Map;Controller public class DruidDemoController {Autowiredprivate JdbcTemplate jdbcTemplate;GetMapping(/DruidDemo.html)public String DruidDemo(Model model){ListMapString, Object maps jdbcTemplate.queryForList(select id,name from springbootintegjdbcdemo);model.addAttribute(druidEntities,maps);return DruidDemo;} }还有在 resources/templates 的目录下创建一个 DruidDemo.html !DOCTYPE html html langen headmeta charsetUTF-8titleDruidDemo/title /head bodydiv th:eachdruidEntities,druidEntity:${druidEntities}span th:text${druidEntities} //div /body /html最后启动 Spring Boot 打开浏览器输入 http://localhost:8080/druid 进行登录再输入 http://localhost:8080/DruidDemo.html 后查看 SQL 监控 结果如图 查询结果 SQL 监控结果 Spring Boot 整合 MyBatis Spring Boot 整合 MyBatis 是一种常见的做法用于简化 Java Web 应用的数据库访问。 简单示例 首先创建新项目 SpringBootIntegMyBatis 注 在勾选启动器上勾选 Web 、JDBC 、MySQL 和 MyBatis 然后在 application.properties 全局配置文件中进行以下配置 spring.datasource.usernameroot spring.datasource.password0123 spring.datasource.urljdbc:mysql://localhost:3306/springbootintegjdbc spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driver #指定 mybatis 配置文件位置 mybatis.config-locationclasspath:mybatis/mybatis-config.xml mybatis.mapper-locationsclasspath:mybatis/mappers/*.xml接着分别创建 Entity 包和 Dao 包并且对应创建一个 MyBatisDemoEntity 类和 MyBatisEntityDemoDao 接口 package cn.edu.SpringBootIntegMyBatis.Entity;public class MyBatisDemoEntity {private int id;private String name;public MyBatisDemoEntity() {}public MyBatisDemoEntity(int id, String name) {this.id id;this.name name;}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;}Overridepublic String toString() {return MyBatisEntityDemo{ id id , name name \ };} }声明一个方法以添加用户为例 package cn.edu.SpringBootIntegMyBatis.Dao;import cn.edu.SpringBootIntegMyBatis.Entity.MyBatisDemoEntity;public interface MyBatisEntityDemoDao {// 添加public void add(MyBatisDemoEntity myBatisEntityDemo); }随之在 resources/mybatis 目录下创建一个 mybatis-config.xml 配置文件并进行以下配置 ?xml version1.0 encodingUTF-8 ? !DOCTYPE configurationPUBLIC -//mybatis.org//DTD Config 3.0//ENhttps://mybatis.org/dtd/mybatis-3-config.dtdconfigurationsettingssetting namemapUnderscoreToCamelCase valuetrue//settings /configuration再在 resources/mybatis/mappers 目录下创建一个 MyBatisEntityDemoDao.xml 映射文件并进行以下配置 ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttps://mybatis.org/dtd/mybatis-3-mapper.dtd!-- namespace 必须为接口的全类名 -- mapper namespacecn.edu.SpringBootIntegMyBatis.Dao.MyBatisEntityDemoDao!-- id 必须为接口对应的方法名 --select idaddinsert into springbootintegjdbcdemo (name) values (#{name})/select /mapper最后先在 SpringBootIntegMyBatisApplication 启动类中添加 MapperScan({“cn.edu.SpringBootIntegMyBatis.Dao”}) 注解 再在 SpringBootIntegMyBatisApplicationTests 测试类中进行测试 package cn.edu.SpringBootIntegMyBatis;import cn.edu.SpringBootIntegMyBatis.Dao.MyBatisEntityDemoDao; import cn.edu.SpringBootIntegMyBatis.Entity.MyBatisDemoEntity; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest;SpringBootTest class SpringBootIntegMyBatisApplicationTests {Autowiredprivate MyBatisEntityDemoDao myBatisEntityDemoDao;Testvoid contextLoads() {// 添加测试MyBatisDemoEntity myBatisEntityDemo new MyBatisDemoEntity();myBatisEntityDemo.setName(赵云);myBatisEntityDemoDao.add(myBatisEntityDemo);} }结果如图 Spring Boot 整合 JPA JPA 是 Java EE 5 的标准之一提供了一种对象关系映射ORM的规范使得开发者可以使用面向对象的方式来操作数据库。 浅谈JPA框架 Spring Boot 整合 JPA 可以极大地简化数据持久层的配置和开发。 简单示例 首先创建新项目 SpringBootIntegJPA 注 在勾选启动器上勾选 Web 、JDBC 、MySQL 和 JPA 然后在 application.properties 全局配置文件中进行以下配置 spring.datasource.usernameroot spring.datasource.password0123 spring.datasource.urljdbc:mysql://localhost:3306/springbootintegjdbc spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driver # SpringBoot 内部使用 SpringData , SpringData 的 JPA 是使用 Hibernate 实现的 spring.jpa.hibernate.ddl-autoupdate spring.jpa.show-sqltrue接着分别创建 Entity 包、Dao 包和 Controller 包并且对应创建一个 JpaDemoEntity 类、JpaDemoDao 接口和 JpaDemoController 类 package cn.edu.SpringBootIntegJPA.Entity;import jakarta.persistence.*;Entity Table(name springbootintegjdbcdemo) public class JpaDemoEntity {private int id;private String name;IdGeneratedValue(strategy GenerationType.IDENTITY)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;}Overridepublic String toString() {return JpaEntityDemo{ id id , name name \ };} }注JpaDemoDao 接口继承 JpaRepository实体类主键类型即可 package cn.edu.SpringBootIntegJPA.Dao;import cn.edu.SpringBootIntegJPA.Entity.JpaDemoEntity; import org.springframework.data.jpa.repository.JpaRepository;public interface JpaDemoDao extends JpaRepositoryJpaDemoEntity,Integer { }注没有使用视图模板的情况下在 JpaDemoController 类中添加 ResponseBody 注解 package cn.edu.SpringBootIntegJPA.Controller;import cn.edu.SpringBootIntegJPA.Dao.JpaDemoDao; import cn.edu.SpringBootIntegJPA.Entity.JpaDemoEntity; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ResponseBody;Controller public class JpaDemoController {Autowiredprivate JpaDemoDao jpaDemoDao;ResponseBody // 在没有使用视图模板下使用该注解GetMapping(/JpaDemo.html)public String save(){JpaDemoEntity jpaDemoEntity new JpaDemoEntity();jpaDemoEntity.setName(关羽);jpaDemoDao.save(jpaDemoEntity);return 添加成功;} }最后启动 Spring Boot 打开浏览器输入 http://localhost:8080/JpaDemo.html 并按下回车键进行测试 结果如图
http://www.zqtcl.cn/news/559451/

相关文章:

  • 深圳网站建设q.479185700惠哪个网站可以免费设计房子
  • 迁西网站开发网站建设技术网站建
  • 网站建设与管理课程报告能够做外贸的网站有哪些
  • 浅析社区网站的建设如何建立企业网站
  • 网站建设尺寸像素是多少广州商城型网站建设
  • 重庆自助建站模板简述网络营销的特点
  • 企业网站托管一个月多少钱网页设计规范2018
  • 网站建设费用摊销会计分录合肥网站建设哪里好
  • 郑州市建设工程造价信息网站关于工程项目建设的网站
  • 网站做淘宝客收入咋样景区门户网站建设方案
  • 遵义做网站推广西安都有哪些公司
  • 万网建网站流程产品展示网站模板php
  • 新津县建设局网站网站做301
  • 网站域名续费如何建设一个简易网站
  • 网站整体迁移该怎么做wordpress 图片调用api接口
  • 网站获得流量最好的方法是什么 ( )汕头建设学校的网站
  • 网上下载的网站后台安全吗仿系统之家网站源码
  • 网站实名审核高等教材电工学久久建筑网
  • 化学试剂购买网站网站节点加速
  • 桂林城乡建设局网站在线咨询免费
  • 长治网站设计制作网站ps怎么做网站导航内嵌式
  • 网站 橙色前台网站开发
  • 滨海网站建设服务商电子商务网站建设与维护pdf
  • 企业网站建设方案效果h5网页制作app
  • 国内搜索引擎网站免费无线
  • 龙岩做网站价格室内建筑设计
  • 闲鱼上面给人做网站造退款微信登录建设银行网站
  • 无锡网站推广公司网络营销课程设置
  • dede 网站根目录北京好的设计公司
  • 网站关键词重复wordpress 影响力