springboot整合mysql
本demo为Springboot整合mybatis对数据库进⾏查询
1、创建本地数据库并建表。
此时我们⽤mysql,在navicat中连接到数据库,然后创建⼀个新表test,然后建⼀个user表,设计字段为⾃增
id,name,sex,password。
插⼊两条数据。
Tips:
(1)可以到git中doc下拿到sql⽂件
(2)SpringMVC不熟悉可以 - >
2、初始化Springboot项⽬
本例使⽤的是idea(eclipse操作类似):
创建⼀个springboot项⽬,并导⼊相应的jar包。(File -> new -> project -> Spring Iniltiazr)
mysql下载jar包3、项⽬的配置⽂件
编辑l (或application.properties),配置端⼝号和项⽬名称,(注意:yml⽅式冒号后边必须有⼀个空格) server.port: 8080 指 tomcat 的端⼝号,也可以根据需求指定其它端⼝号 如80、8001等
Tips :1、图是配置⽂件,springboot在整合不同的框架的时候,会引⼊不同的配置信息,
我们需要结合框架官⽹提供的⽰例或者⽹上的案例,结合⾃⼰的项⽬,进⾏不同的配置。
4、创建实体类
在下创建包名为entity的包,并编写User类。现在我们创建⼀个User.java类,
根据之前创建的user表,设计的字段有id、name、sex、password并添加相应的getter和setter。并在实体类上加@Component注解。
Tips : 图是实体层,(也可以称为model层、entity层等),存放我们的实体类,与数据库中的属性值基本保持⼀致。
5、创建DAO层
DAO层叫数据访问层,全称为data access object,属于⼀种⽐较底层,⽐dao层主要做数据持久层的⼯作。负责与数据库进⾏联络的⼀些任务都封装
在此dao层主要做数据持久层的⼯作,负责与数据库进⾏联络的⼀些任务都封装在此。我们可以使⽤mybatis框架进⾏dao层的实现。例⼦中我们查询所有的⽤户。
使⽤mysql和mybatis,⾸先在l添加相应的依赖(注释和依赖如下,带springboot-boot-starter是⽀持springboot⾃动装配的依赖)
⽬的是引⼊相应的驱动和⽅法连接并操作mysql数据库(引⼊之后我们还需要进⾏相关的配置便可以使⽤)
⾸先在下建⽴⼀个dao包,在dao包下新建⼀个UserMapper.java接⼝,先定义⼀个listUsers⽅法,然后再去实现它。
注意其中@Mapper注解和@Component注解。其中@Mapper是mybatis提供的注解,@Component是Spring的注解。
实现这个接⼝,利⽤mybatis提供的xml⽅式。
在resource⽂件夹下新建⼀个mapper的⽂件夹,然后建⼀个l⽂件(右键⽂件夹New - > File), 其中<mapper namespace=".dao.UserMapper">中定义了接⼝类的位置,resultMap定义了sql返回的类
型,parameterType="java.lang.String"是sql⽤使⽤的参数类型,即#{name}是String类型的。 其中有实体类中property的字段名、和数据库中column的字段名、还有jdbc的类型。
更多解释请去官⽅⽹
此时,我们还需要配置两个地⽅,
⼀个是mapper下新建⼀个config⽂件夹,建⽴⼀个l⽂件,⽂件如下:
Tips :由于我们使⽤注解⽅式开发,这个⽂件⾥的代码就可以写很少量的代码了。此配置⽂件
⼆个是修改l , ⽬的是配置连接数据库,和装配mybatis框架,配置的参数如下: 其中数据库主要需要四个参数:driver-class-name、url、username、password,其他是调优的参数。 mybatis主要指定xml⽂件的位置。
6、创建Service层
服务层,被称为服务,粗略的理解就是对⼀个或多个DAO进⾏的再次封装,封装成⼀个服务,所以这⾥也就不会是⼀个原⼦操作了,需要事物控制。
在下创建service层,创建UserService接⼝。并编写UserService.java。
然后在service层下创建impl实现层,编写UserServiceImpl.java实现类。需要在实现类上添加@Service注解,默认value为
userService,然后可以⾃⼰定义value
此处只简单调⽤了dao层的接⼝。
7、创建controller层
controller层负责具体的业务模块流程的控制,在此层要调⽤service层的接⼝来控制业务流程,控制的配置也同样是在Spring的配置⽂件⾥进⾏,针对具体的业务流程,会有不同的控制器。我们具体的
设计过程可以将流程进⾏抽象归纳,设计出可以重复利⽤的⼦单元流程模块。这样不仅使程序结构变得清晰,也⼤⼤减少了代码量。
在下创建UserController.java,我们在类上加上@RestController注解和@RequestMapping注解,调⽤的Service层需要⽤@Autiwired注解来实现调⽤
Tips :在controller层中,需要使⽤的是restful风格,Restful就是⼀个资源定位及资源操作的风格。不是标准也不是协议,只是⼀种风格。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
⽹上到⼀个⽐较通俗的说法是:URL定位资源,⽤HTTP动词(GET,POST,DELETE,PUSH等)描述操作
8、运⾏项⽬进⾏功能测试
此时我们就完成了对数据库的单表的全查询
SpringmvcApplication.java中的main⽅法为程序的⼊⼝,可以此main⽅法来运⾏整个项⽬。
运⾏截图:
我们可以看到,访问这个接⼝可以得到json的数组,这个json数组由来 ------> 是dao层访问数据库,经过service封装判断等⼀些操作,然后通过访问controller层拿到的。
接⼝:localhost中指的是本机的ip地址,也可以⽤127.0.0.1,如果在服务器上跑此项⽬,把localhost替换成服务器的ip。
json数组:上图我们可以看到的json是⼀个可以给前端页⾯解析,变成⼀个好看的页⾯。
我们可以借助⽹站来判断⼀个数据是否为正确的json格式,也可以通过这个⽹站快速设计实体类、xml等。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论