通过idea新建一个spring boot项目
1.第一步:把冰箱门打开(新建一个项目)
2.第二步:选择spring Initializr 点击next(上面的Project sdk可以选择本地的)
3.第三步:填写项目的基本信息,命名。
4.选择需要导入的配置(如果这里没有忘记勾选,后面可以自己加上相应代码去在pom.xml中)
5.然后《一路向西》,next,设置项目名,在新窗口中打开。
6.打开后如下图,左上角是基本的文件路径,按ctrl+alt+s 打开设置,把maven换成本地安装的,如下下图,点击apply,点击ok,然后等右下角进度条走完后还会提示你 :maven需要重新导入,然后点击import changes。
下图是更换本地的maven:
7.编辑application.properties文件:
这里的数据库配置信息:需要填写你电脑本地的数据库信息,基本的用户名和密码。url后面的127.0.0.1和localhost是一样可以进行替换的,在自己的本地数据库中新建mytext数据库,在底下建表t_student,问号后面的是一些字符编码规范的设置,还有后面的class-name设置,com.mysql.jdbc.Driver
是 mysql-connector-java 5中的,com.mysql.cj.jdbc.Driver
是 mysql-connector-java 6中的,这个就跟你的mysql-connector-java版本有关系,
#服务器端口
server.port=8091
#mysql数据库配置
spring.datasource.username=root
spring.datasource.password=admin
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/mytext?roundRobinLoadBalance=true&characterEncoding=UTF-8&useSSL=true&serverTimezone=GMT
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
student表:
CREATE TABLE `t_student` (
`id` int(11) NOT NULL,
`name` varchar(20) DEFAULT NULL,
`score` double DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
这时候启动项目,打开TestApplication.java主程序文件,点击运行。
我遇到过没有这个按钮的情况,就是idea的java环境没配置好,重新弄一下java环境就好了。
启动的时候如果报错如下:
这个就是端口被占用了,更改一下applicaton.properties文件中的server.port的值,更换别的端口号,再启动,我更换了8091端口。
8.接下来配置mysql的generatorConfig.xml自动生成实体和dao层接口和映射文件,在resources文件下新建generator文件下,在底下新建generatorConfig.xml文件内容如下:
generatorConfig.xml
<?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>
<!-- 数据库驱动:选择你的本地硬盘上面的数据库驱动包-->
<classPathEntry location="C:\mysql-connector-java-5.1.38.jar"/>
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressDate" value="true"/>
<!-- 是否去除自动生成的注释 true:是 : false:否 -->
<property name="suppressAllComments" value="false"/>
</commentGenerator>
<!--数据库连接驱动类,URL,用户名、密码 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost/mytext?useSSL=true" userId="root" password="admin">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- 生成(实体)模型的包名和位置-->
<javaModelGenerator targetPackage="com.example.spring.test.entity" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 生成XML映射文件的包名和位置-->
<sqlMapGenerator targetPackage="resources.mapper" targetProject="src/main">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- 生成DAO接口的包名和位置-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.example.spring.test.mapper" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->
<table tableName="t_student" domainObjectName="Tstudent" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
</context>
</generatorConfiguration>
这块注意配置,配置成你自己的mysql-connection-java的包,你可以去maven下载的文件底下找,不知道maven下载的包的路径的,我用这个everything工具搜索一下,这两个底下都有对应的数据库驱动包,然后我放在c盘根目录下面了,接下来配置自己的数据库,配置自己需要生成的实体、dao层、xml文件对应的目录,然后设置自己需要映射的表名,和生成后的实体名称。
9.需要给pom.xml文件中添加代码:
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.5</version>
<configuration>
<configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>
</configuration>
</plugin>
添加在
这个configurationFile设置成自己的generatorConfig.xml文件,然后然后点击Edit Configurations如下:
点击加号
选择Maven
然后在command line:中输入mybatis-generator:generate -e 。点击apply,点击ok。
然后点击运行按钮。
然后就生成了如下:
然后编辑controller层和service层文件,
service层:
TstudentService.java
package com.example.spring.test.services;
import com.example.spring.test.entity.Tstudent;
import com.example.spring.test.mapper.TstudentMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @Description:
* @Date: 2019/3/1
* @Author
* @Version 1.0
*/
@Service("tstudentService")
public class TstudentService {
@Autowired
private TstudentMapper tstudentMapper;
/**
* 通过主键查找实体
* @param id
* @return
*/
public Tstudent getById(Integer id){
return tstudentMapper.selectByPrimaryKey(id);
}
}
TstudentController.java
package com.example.spring.test.controller;
import com.example.spring.test.entity.Tstudent;
import com.example.spring.test.services.TstudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* @Description:
* @Date: 2019/3/1
* @Author
* @Version 1.0
*/
@Controller
@RequestMapping("/student")
public class TstudentController {
@Autowired
private TstudentService tstudentService;
@RequestMapping("/getById")
@ResponseBody
public Tstudent getById(Integer id){
return tstudentService.getById(id);
}
}
目录文件位置:
然后在application.properties中添加:
#mybatis
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.example.spring.test.entity
如果项目启动提示mapper扫描不到,则给主类添加注解@MapperScan("com.example.spring.test.mapper")
然后重启项目,在浏览器中输入:http://localhost:8091/student/getById?id=1,结果如图:(数据库里需要添加数据)
这里就查出来主键为1的数据,这里一个spring项目已经搭建好了,谢谢阅读。写的不是很好,如果有地方不清楚的,可以评论,我及时的答复,如果您满意,可以点个赞哦,谢谢!