用idea搭建spring boot+mybatis及反向生成框架
2018-09-07 16:11
459 查看
用idea搭建spring boot+mybatis框架:
准备工作,安装好环境,数据库安装,建表,插入数据,我的数据如下
1.创建新项目
.
2.选择项目版本
3.勾选依赖
4.选择数据库
5.下一步
6.生成项目目录结构如下
7.导入反向生成依赖
[code]<dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.5</version> </dependency>
8.创建反向生成类
[code]GenerateUtil
[code]package com.cn.utils; import org.mybatis.generator.api.MyBatisGenerator; import org.mybatis.generator.config.Configuration; import org.mybatis.generator.config.xml.ConfigurationParser; import org.mybatis.generator.internal.DefaultShellCallback; import java.io.File; import java.util.ArrayList; import java.util.List; public class GenerateUtil { public void generator() throws Exception{ List<String> warnings = new ArrayList<String>(); boolean overwrite = true; //指定 逆向工程配置文件 File configFile = new File("src/main/resources/generateConfig.xml"); ConfigurationParser cp = new ConfigurationParser(warnings); Configuration config = cp.parseConfiguration(configFile); DefaultShellCallback callback = new DefaultShellCallback(overwrite); MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings); myBatisGenerator.generate(null); } public static void main(String[] args) throws Exception { try { GenerateUtil generatorSqlmap = new GenerateUtil(); generatorSqlmap.generator(); } catch (Exception e) { e.printStackTrace(); } } }
9.db.properties数据库连接放于resources目录下
[code]##jdbc.driverLocation=C:\Users\user\.m2\repository\mysql\mysql-connector-java\5.1.46\mysql-connector-java-5.1.46.jar jdbc.driver = com.mysql.jdbc.Driver jdbc.url = jdbc:mysql://localhost:3306/test?characterEncoding=utf-8&useSSL=false jdbc.username = root jdbc.password = 123456 #数据库中要生成的表 jdbc.table.user = goods
10.建立dao,和实体类entity,和mapper层目录,注意映射文件mapper要放在resources目录下。
11.配置generateConfig.xml放于resources目录下
[code]<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> <generatorConfiguration> <!--引入数据库配置文件以解耦--> <properties resource="db.properties"/> <context id="testTables" targetRuntime="MyBatis3"> <commentGenerator> <!-- 是否去除自动生成的注释,true:是;false:否 --> <property name="suppressAllComments" value="true" /> </commentGenerator> <!--数据库连接的信息:驱动类、连接地址、用户名、密码 --> <jdbcConnection driverClass="${jdbc.driver}" connectionURL="${jdbc.url}" userId="${jdbc.username}" password="${jdbc.password}"> </jdbcConnection> <!--Oracle数据库的连接信息--> <!-- <jdbcConnection driverClass="oracle.jdbc.OracleDriver" connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:yycg" userId="yycg" password="yycg"> </jdbcConnection> --> <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal --> <javaTypeResolver> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!-- targetProject:生成PO类的位置 --> <javaModelGenerator targetPackage="com.cn.entity" targetProject="src\main\java"> <!-- enableSubPackages:是否让schema作为包的后缀 --> <property name="enableSubPackages" value="false" /> <!-- 从数据库返回的值被清理前后的空格 --> <property name="trimStrings" value="true" /> </javaModelGenerator> <!-- targetProject:mapper映射文件生成的位置 --> <sqlMapGenerator targetPackage="mapper" targetProject="src\main\resources"> <!-- enableSubPackages:是否让schema作为包的后缀 --> <property name="enableSubPackages" value="false" /> </sqlMapGenerator> <!-- targetPackage:mapper接口生成的位置,遵循MyBatis规范,让mapper.xml 和mapper.java在同一目录下 --> <javaClientGenerator type="XMLMAPPER" targetPackage="com.cn.dao" targetProject="src\main\java"> <!-- enableSubPackages:是否让schema作为包的后缀 --> <property name="enableSubPackages" value="false" /> </javaClientGenerator> <!-- 指定数据库表 --> <table tableName="${jdbc.table.user}"></table> <!-- <table schema="" tableName="sys_user"></table> <table schema="" tableName="sys_role"></table> <table schema="" tableName="sys_permission"></table> <table schema="" tableName="sys_user_role"></table> <table schema="" tableName="sys_role_permission"></table> --> <!-- 有些表的字段需要指定java类型 <table schema="" tableName=""> <columnOverride column="" javaType="" /> </table> --> </context> </generatorConfiguration>
12.配置application.properties
[code]spring.datasource.url=jdbc:mysql://localhost:3306/test?characterEncoding=utf-8&useSSL=false spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.jpa.database=mysql #ddddd spring.datasource.first.initial-size=1 spring.datasource.first.max-active=5 mybatis.mapper-locations=classpath*:mapper/*.xml server.port=8888
13.运行
[code]GenerateUtil反向生成实体类,映射文件,及dao
14.创建service层以及实现类
GoodsService
[code]package com.cn.service; import com.cn.entity.Goods; public interface GoodsService { public Goods getGoods(int Id); }
15.创建实现类
GoodsServiceImpl
[code]package com.cn.servieimpl; import com.cn.dao.GoodsMapper; import com.cn.entity.Goods; import com.cn.entity.GoodsExample; import com.cn.service.GoodsService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class GoodsServiceImpl implements GoodsService { @Autowired GoodsMapper goodsMapper; @Override public Goods getGoods(int Id) { GoodsExample example = new GoodsExample(); GoodsExample.Criteria criteria = example.createCriteria(); criteria.andIdEqualTo(Id); return goodsMapper.selectByExample(example).get(0); } }
16.实现控制层,GoodsContrlller
[code]import com.cn.entity.Goods; import com.cn.service.GoodsService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/goods") public class GoodsContrlller { @Autowired GoodsService goodsService; @RequestMapping("/get") public Object getGoods(Integer Id){ Goods goods = goodsService.getGoods(Id); return goods; } }
17.将DemoApplication置于外层,并添加注解
[code]@EntityScan("com.cn.entity") @MapperScan("com.cn.dao")
项目结构如下
[code]18运行DemoApplication,并访问测试
阅读更多
相关文章推荐
- IDEA搭建springboot+mybatis 的web框架附日志管理
- Intellij IDEA springboot maven 配置mybatis-generator,自动从数据库中生成代码
- MyEclipse中搭建spring-boot+mybatis+freemarker框架
- 基于springboot的框架搭建(2)统一配置mybatis的增删改方法
- idea中ssm(spring-spring mvc-mybatis)框架搭建
- 手把手搭建最简单的SSM框架Maven,idea(spring+springmvc+mybatis)附源代码
- 基于dubbo的分布式项目框架搭建 开发工具idea (springboot+dubbo+zookeeper+redis+rabbitmq+基于Swagger2的restful api) --(三)
- 使用idea搭建一个简单的SSM框架:(3)配置spring+mybatis
- 使用IDEA搭建SSM框架(IDEA+Maven+Spring+SpringMVC+MyBatis)
- idea如何搭建springboot框架
- 使用idea+springboot+Mybatis搭建web项目
- 开发框架整合与搭建:spring boot+mybatis+jedis
- IDEA搭建SpringBoot+mybatis+thymeleaf项目
- 架构实战项目心得(七):使用SpringBoot+Dubbo+Mybatisplus+Oracle搭建后台项目框架(二)
- springboot+mybatis+redis框架搭建
- Spring boot框架结合MyBatis框架模板搭建
- IntelliJ IDEA 搭建基于Maven 的SSM(一)(spring,springMvc,Mybatis)框架整合
- 使用idea+springboot+Mybatis搭建web项目
- 架构实战项目心得(七):使用SpringBoot+Dubbo+Mybatisplus+Oracle搭建后台项目框架(一)
- 使用myeclipse搭建SpringBoot框架,整合thymeleaf模板和mybatis