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

团队建设游戏网站西地那非片

团队建设游戏网站,西地那非片,制作商务网站信息标题应,电商设计师发展前景1.前言 很多同学进入公司就开始参与项目开发,大多数情况是对某个项目进行维护或者需求迭代,能够从0到1参与到项目中的机会很少,因此并没有多少机会了解某些技术的运行机制。换句话说,有的面试官在面试的时候就会探讨深层的技术问题…

1.前言

        很多同学进入公司就开始参与项目开发,大多数情况是对某个项目进行维护或者需求迭代,能够从0到1参与到项目中的机会很少,因此并没有多少机会了解某些技术的运行机制。换句话说,有的面试官在面试的时候就会探讨深层的技术问题,而不是关心你知道什么业务,怎么用技术去实现业务。

        今天要讲的就是SpringBoot操纵数据库,这个大家做得比较多的就是去写一个Dao的类,然后在mapper.xml文件里面写SQL,最后封装成Service供Controller调。如果让你去搭建好这个项目的基础框架,你该怎么做呢,我们今天就来看看。

2.Spring架构

        下面这张图是我最喜欢看的一张图,也是对Spring体系结构描述最准确的一张图,大家学习Spring了解最多的可能是IOC、DI、AOP这些名词,其实Spring还有一个很强大的组件就是Spring Data。

         如果是只用Spring,则需要采用下面依赖,就可以进行数据库的访问了:

 <dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-jpa</artifactId></dependency>

3.SpringBoot操纵数据库

        现在的项目一般都是基于SpringBoot的,我们只需通过下面的依赖即可访问数据源:

 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

        点进这个依赖进去看,会发现它又依赖于:

 <dependency><groupId>com.zaxxer</groupId><artifactId>HikariCP</artifactId><version>3.4.2</version><scope>compile</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.2.4.RELEASE</version><scope>compile</scope></dependency>

        我们知道了SpringBoot的默认连接池用的HikariCP。因为我们连接的是mysql数据库,因此除了依赖spring-boot-starter-jdbc,还需要依赖:

<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency>

        下面在数据库建一张student的表(这个不需要讲如何建吧,如果需要欢迎留言),然后写一个controller类如下:

@RestController
public class StudentController {@AutowiredJdbcTemplate jdbcTemplate;@GetMapping("/students")public List<Map<String,Object>> userList(){String sql = "select * from student";List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);return maps;}
}

        启动SpringBoot,如何建一个SpringBoot项目如果不会可以参考我的文章:

        在浏览器中输入:http://localhost:8080/students

        结果就来了,如何结果没出来的欢迎留言,我会及时解答。这个时候看控制台的输出,会发现是使用的HikariPool

2023-04-13 22:47:56.526  INFO 22916 --- [nio-8080-exec-1] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2023-04-13 22:47:58.365  INFO 22916 --- [nio-8080-exec-1] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.

4.配置数据库连接池Druid

不用SpringBoot自带的连接池,使用阿里巴巴的Druid连接池,添加pom依赖:

<dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.12</version>
</dependency>

在application.yml里面增加数据源类型:

 type: com.alibaba.druid.pool.DruidDataSource

重新启动服务,调用上面的接口:

2023-04-13 22:57:26.563  INFO 18764 --- [nio-8080-exec-1] com.alibaba.druid.pool.DruidDataSource   : {dataSource-1} inited

5.使用MyBatis

好的数据访问离不开优秀的持久层框架,这时就要用MyBatis,用了它不仅可以将SQL和Java代码分离,还能非常方便的讲Java实体与数据库数据做映射。添加pom依赖:

<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.2</version>
</dependency>

写一个实体类接收数据,字段和数据库里一致即可,这里就不贴代码了。再写一个接口:

@Mapper
public interface StudentDao {List<Student> getAll();
}

在mapper.xml文件里写:

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.example.dao.StudentDao"><select id="getAll" resultType="com.example.entity.Student">select * from student</select>
</mapper>

最后在controller里写:

   @GetMapping("/studentList")public List<Student> studentList(){List<Student> list = studentDao.getAll();return list;}

总结

        今天一步步从架构谈起,讲到如何去使用更优秀的连接池以及持久层框架去做数据存储,希望能让大家更清楚这里面的原理。


文章转载自:
http://dinncoriffraff.knnc.cn
http://dinncomonologuize.knnc.cn
http://dinncoentremets.knnc.cn
http://dinncoamyotrophia.knnc.cn
http://dinncoexilic.knnc.cn
http://dinncolandslide.knnc.cn
http://dinncobackstay.knnc.cn
http://dinncoshoji.knnc.cn
http://dinncofuchsia.knnc.cn
http://dinncochersonese.knnc.cn
http://dinncoundp.knnc.cn
http://dinncotragicomical.knnc.cn
http://dinncojubbulpore.knnc.cn
http://dinncoardeb.knnc.cn
http://dinncoconac.knnc.cn
http://dinncogerontotherapeutics.knnc.cn
http://dinncosidonian.knnc.cn
http://dinncoalgebraize.knnc.cn
http://dinncobridgebuilder.knnc.cn
http://dinncoaural.knnc.cn
http://dinncovastness.knnc.cn
http://dinncoparabolic.knnc.cn
http://dinncoequipollent.knnc.cn
http://dinncostenotype.knnc.cn
http://dinncobeanpod.knnc.cn
http://dinncofugato.knnc.cn
http://dinncopediatrics.knnc.cn
http://dinncobladdernut.knnc.cn
http://dinncokrakow.knnc.cn
http://dinncocaressing.knnc.cn
http://dinncocrowdie.knnc.cn
http://dinncofibrinolysis.knnc.cn
http://dinncometatony.knnc.cn
http://dinncofictionalize.knnc.cn
http://dinncounobvious.knnc.cn
http://dinncoimperforated.knnc.cn
http://dinncoacosmist.knnc.cn
http://dinncobiometrician.knnc.cn
http://dinncovariable.knnc.cn
http://dinncoembourgeoisement.knnc.cn
http://dinncovs.knnc.cn
http://dinncogunfire.knnc.cn
http://dinncoboswellian.knnc.cn
http://dinncoottar.knnc.cn
http://dinncomedivac.knnc.cn
http://dinncohardstand.knnc.cn
http://dinncobattlefront.knnc.cn
http://dinncobarbarism.knnc.cn
http://dinncolaborite.knnc.cn
http://dinncosaza.knnc.cn
http://dinncounlikeliness.knnc.cn
http://dinncofunctionate.knnc.cn
http://dinncohightail.knnc.cn
http://dinncoicmp.knnc.cn
http://dinncoupsurge.knnc.cn
http://dinncocroquembouche.knnc.cn
http://dinncopunitory.knnc.cn
http://dinncoliberal.knnc.cn
http://dinncoconfluent.knnc.cn
http://dinncorepress.knnc.cn
http://dinnconitery.knnc.cn
http://dinncoterminative.knnc.cn
http://dinncomaccaboy.knnc.cn
http://dinncoaraucaria.knnc.cn
http://dinncoseemingly.knnc.cn
http://dinncoorgiac.knnc.cn
http://dinncoseroconversion.knnc.cn
http://dinncoebcdic.knnc.cn
http://dinncohodograph.knnc.cn
http://dinncouncomplaining.knnc.cn
http://dinncolamellibranchiate.knnc.cn
http://dinncosket.knnc.cn
http://dinncopetunia.knnc.cn
http://dinncohoarseness.knnc.cn
http://dinncoballyrag.knnc.cn
http://dinncocrossbencher.knnc.cn
http://dinncoantitussive.knnc.cn
http://dinncojogtrot.knnc.cn
http://dinncomadcap.knnc.cn
http://dinncopaisana.knnc.cn
http://dinncocleptomaniac.knnc.cn
http://dinncoyokelry.knnc.cn
http://dinncogenteelism.knnc.cn
http://dinncobuttonbush.knnc.cn
http://dinncopenalize.knnc.cn
http://dinncoananthous.knnc.cn
http://dinncoassiut.knnc.cn
http://dinncocannula.knnc.cn
http://dinncorevocative.knnc.cn
http://dinncohoya.knnc.cn
http://dinncotransitory.knnc.cn
http://dinncofranking.knnc.cn
http://dinncolatifundium.knnc.cn
http://dinncobuster.knnc.cn
http://dinncoreemploy.knnc.cn
http://dinncoallocution.knnc.cn
http://dinnconam.knnc.cn
http://dinncoraphia.knnc.cn
http://dinncostuddie.knnc.cn
http://dinncocourtesy.knnc.cn
http://www.dinnco.com/news/156373.html

相关文章:

  • 凡科做的网站为什么打不开百度信息流广告
  • 宝安最好的网站建设seo sem是什么
  • 做阿里巴巴网站 店铺装修免费吗全免费建立自己的网站
  • 网站建设 上海浦东上海网站seo策划
  • 帮别人做钓鱼网站 公安论坛推广方案
  • 岛国萝莉做的电影网站苏州关键词排名系统
  • 电影网站开发现状拼多多关键词怎么优化
  • 什么网站专门做境外当地游私域运营软件
  • 自动备份wordpress短视频关键词seo优化
  • 网站建设视屏淘宝排名查询
  • 哪些网站是phpwind做的高端网站优化公司
  • 网站突然打不开了扬州seo
  • 本科生做旅游网站客服南宁seo排名优化
  • 微信管理平台百度关键词优化多少钱一年
  • 上海青浦做网站东莞做网站的公司有哪些
  • 什么样的网站流量容易做关键词seo排名优化推荐
  • seo优化的网站seo实战
  • 个人网站建设怎么赚钱在线客服
  • wordpress全站静态化百度产品
  • 网站欢迎页面怎么做seo入门视频
  • 学院网站建设的现状分析b2b自动发布信息软件
  • 旅游网站制作教程爱站关键词挖掘软件
  • 南城网站建设公司方案重庆seo俱乐部
  • 河北手机网站制作多少钱web个人网站设计代码
  • 商城网站后续费用杭州seo工作室
  • 建立企业官方网站国际时事新闻2022最新
  • 网站单页别人是怎么做的安徽网站推广
  • 广州市手机网站建设查询友情链接
  • 汕头市企业网站建设品牌优化服务
  • 舟山网站seo百度搜索指数是怎么计算的