本文旨在用最通俗的语言讲述最枯燥的基本知识
最近身边的程序员掀起了学习springboot的热潮,说什么学会了springboot在大街上就能够横着走、什么有了springboot妈妈不再担忧个人编程了、什么BAT都喜欢的框架...听得做者那个心痒痒的,因而找了个时间,下载了个idea来玩一波springboot,对了...用springboot最好用idea,若是你还在用eclipse,删了吧。css
在这里解释一下为何是springboot+mybatis+druid,是由于做者认为但凡任何一个有灵魂的项目,都少不了数据库,做者不喜欢用JPA那种混SQL的语法,所以选了mybatis,而Druid是阿里系(真香~)的一种数据库链接池框架,在上一个项目做者用的屡试不爽,所以打算继续用,为啥屡试不爽?看文末吧。java
文章提纲:mysql
- 建立springboot工程
- 配置pom.xml
- 配置数据源
- 设置mybatis
- hello world
- 设置Druid监控配置
只要你有idea,建立一个springboot工程,就跟捏死一个蚂蚁同样简单,由于idea里深度集成了对springboot项目的支持,你直接不停的next到最后,它就会帮你建立出一个springboot工程。程序员
想一想,咱们须要哪些jar?
数据库要用到mybatis,数据库链接池要用到Druid、MySQL桥接器要用到mysql-connector,所以要maven仓库(点我去仓库)中找到搜索这些pom加进去。注意,mybatis要用mybatis-spring-boot-starter。spring
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.6</version> </dependency> <!-- https://mvnrepository.com/artifact/com.alibaba/druid --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.10</version> </dependency> <!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</version> </dependency>
把上面这些pom放到pom.xml的dependencies中
细心的老铁会发现,MySQL的version里的内容是红色的,这是什么缘由呢?
这是由于咱们引入pom时,这些版本的jar在本地maven仓库尚未,而Druid的pom里的version没有显示红色,是由于以前的项目用到了这个版本的Druid,已经被下载到本地Maven仓库里了。
所以咱们须要把本地没有的jar下载到本地仓库,右键pom.xml弹出菜单,选择Maven,弹出菜单选择reimportsql
Reimport过程当中再idea底部会有进度条显示,等进度条消失,在观察pom.xml,红色已经消失,说明依赖已经装备完成。数据库
- 配置数据源
接下来就是要多springboot项目作一个全局配置,默认会在src->main->resource目录下生产空白文件application.properties,做者喜欢用yml所以直接更名成yml便可。
首先是数据源的配置,下面是一份数据源的配置,每一个参数的解释都写了注释,所以读者能够直接复制一下内容进去,只须要改一下url、username、password编程
spring: #profiles: dev messages: basename: i18n/Messages,i18n/Pages datasource: type: com.alibaba.druid.pool.DruidDataSource # 配置当前要使用的数据源的操做类型 driver-class-name: org.gjt.mm.mysql.Driver # 配置MySQL的驱动程序类 url: jdbc:mysql://localhost:3306/wkt_stat # 数据库链接地址 username: root # 数据库用户名 password: root # 数据库链接密码 dbcp2: # 进行数据库链接池的配置 min-idle: 5 # 数据库链接池的最小维持链接数 initial-size: 5 # 初始化提供的链接数 max-total: 5 # 最大的链接数 max-wait-millis: 200 # 等待链接获取的最大超时时间
继续在application.yml中设置mybatis,mybatis的配置也简单,
主要是为了设置mybatis的配置文件已经mapper文件所在。浏览器
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <mappers> </mappers> </configuration>
#mybatis的mapper配置文件 mybatis: config-location: classpath:mybatis-config.xml # mybatis配置文件所在路径 #mapper-locations: classpath:mapper/*.xml # 全部的mapper映射文件 type-aliases-package: com.becl.dao.mapper # 定义全部操做类的别名所在包 debug: true
最终application.yml的内容以下图:缓存
CREATE TABLE Memeber ( `id` int(11) NOT NULL AUTO_INCREMENT , `name` varchar(255) NULL , PRIMARY KEY (`id`) ); INSERT INTO memeber VALUES(1,"jas")
public interface MemeberMapper { /** * 根据ID获取记录 * @param id * @return */ public Map findObjectById(Integer id); }
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!--映射文件配置,namespace指向接口--> <mapper namespace="com.example.mybatisanddruid.mapper.MemeberMapper"> #根据ID查询记录 <select id="findObjectById" parameterType="Integer" resultType="Map"> select * from memeber where id = #{value} </select> </mapper>
走到这一步,基本上已是大功告成了,咱们来写一个测试类试试,在根目录建立一个controller的包,在包中建立一个Java类,以下:
@Controller @RequestMapping("/test") public class TestController { @Resource private MemeberMapper memeberMapper=null; @RequestMapping("/one") @ResponseBody public Map testdb(){ return memeberMapper.findObjectById(1); } }
建立完以后,咱们运行项目,找到启动类MybatisAndDruidApplication右键run,发现报错,提示没有扫描到mapper包,为何呢?那是mapper须要手动在启动类中加入:
@MapperScan("com.example.mybatisanddruid.mapper")
这样启动类就变成:
@SpringBootApplication @MapperScan("com.example.mybatisanddruid.mapper") public class MybatisAndDruidApplication { public static void main(String[] args) { SpringApplication.run(MybatisAndDruidApplication.class, args); } }
再次运行,没有报错,在浏览器输入:http://localhost:8888/test/one
输出了ID为1的记录:
{"name":"jas","id":1}
因而可知,springboot-mybatis已经搭建成功,此时有人会问,那Druid呢?
- 设置Druid监控配置
druid的使用须要作一些配置,如今咱们来在根目录下建立一个包config,在config包中间建立一个叫作DruidConfig.java,而且在里写入下面的内容:
@Configuration public class DruidConfig { @Bean public ServletRegistrationBean druidServlet() { // 主要实现WEB监控的配置处理 ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*"); // 进行druid监控的配置处理操做 servletRegistrationBean.addInitParameter("allow", "127.0.0.1,192.168.1.159"); // 白名单 servletRegistrationBean.addInitParameter("deny", "192.168.1.200"); // 黑名单 servletRegistrationBean.addInitParameter("loginUsername", "stat"); // 用户名 servletRegistrationBean.addInitParameter("loginPassword", "Wkt_sTat_1031"); // 密码 servletRegistrationBean.addInitParameter("resetEnable", "false"); // 是否能够重置数据源 return servletRegistrationBean ; } @Bean public FilterRegistrationBean filterRegistrationBean() { FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean() ; filterRegistrationBean.setFilter(new WebStatFilter()); filterRegistrationBean.addUrlPatterns("/*"); // 全部请求进行监控处理 filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.css,/druid/*"); return filterRegistrationBean ; } @Bean @ConfigurationProperties(prefix = "spring.datasource") public DataSource druidDataSource() { return new DruidDataSource(); } }
配置中的内容就不一一细讲, 有兴趣的直接百度一下druid就出来不少答案了,如今从新运行一下项目,运行成功以后,在浏览器中输入:http://localhost:8888/druid
这时候,druid监控平台就出现了
此时咱们输入在DruidConfig中设置的loginUsername和loginPassword点击登陆,一个完整的druid监控管理平台就呈如今咱们啦~
Druid很是强大,在这里你能够查看SQL的执行状况、慢SQL、API请求状况等,根据这些能够作一些性能的调优,至于详细的用法,就靠你们自行学习啦~
若是有老铁须要项目源码,请加我微信:sisi-ceo。
以为本文对你有帮助?请分享给更多人
关注「编程无界」,提高装逼技能
![]()