在使用idea之初,有的道友会对idea的使用有疑问,比如:idea和eclipse有什么不同,写增删改查的时候应该如何去写,那么今天,小编就带大家一起写一遍,希望对大家有所帮助。
需要的工具是idea,以authuser的增删改查为例。接下来,请和我一起操作吧!
一、在数据库内创建表,名字为:auth_user如图:
二、打开idea,创建一个项目,我的项目名称是cms。
三、配置pom.xml,里边包含lombok、mybatis、mysql等配置,如果需要其他的依赖,可以在百度搜索,加入到pom.xml中。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.1</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.xiaohui</groupId>
<artifactId>cms</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>com.xiaohui</name>
<description>com.xiaohui</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 自动生成Getter和Setter,构造器 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.8</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.5</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.6</version>
<configuration>
<configurationFile>
${basedir}/src/main/resources/generator/generatorConfig.xml
</configurationFile>
<overwrite>true</overwrite>
<verbose>true</verbose>
</configuration>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.16</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>4.1.5</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</project>
四、将application.properties改为application.yml,进行配置。
server:
port: 8082
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/t_cms?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver #8.0??
#driver-class-name: com.mysql.jdbc.Driver
五、在resource下创建generator文件夹,如下图:
六、在generator文件夹下创建config.properties和generatorConfig.xml,并进行配置。
1、配置config.properties。
jdbc.driverClass=com.mysql.cj.jdbc.Driver
#jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/t_cms?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8
jdbc.user=root
jdbc.password=root
# ???????
moduleName=role
# ??
tableName=auth_role_res
2、配置generatorConfig.xml。
<!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="generator/config.properties"/>
<context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<plugin type="tk.mybatis.mapper.generator.MapperPlugin">
<property name="mappers" value="tk.mybatis.mapper.common.Mapper"/>
<property name="caseSensitive" value="true"/>
<property name="lombok" value="Getter,Setter,ToString"/>
</plugin>
<jdbcConnection driverClass="${jdbc.driverClass}"
connectionURL="${jdbc.url}"
userId="${jdbc.user}"
password="${jdbc.password}">
</jdbcConnection>
<!--实体-->
<javaModelGenerator targetPackage="com.xiaohui.cms.entity.${moduleName}"
targetProject="src/main/java"/>
<!--mapper.xml-->
<sqlMapGenerator targetPackage="com.xiaohui.cms.dao.${moduleName}"
targetProject="src/main/resources"/>
<!--mapper接口-->
<javaClientGenerator targetPackage="com.xiaohui.cms.dao.${moduleName}"
targetProject="src/main/java"
type="XMLMAPPER"/>
<!--为哪张表生成代码-->
<table tableName="${tableName}">
<generatedKey column="id" sqlStatement="JDBC"/>
</table>
</context>
</generatorConfiguration>
七、配置maven(有时候项目会报错,需要进行maven的配置,一般在项目初期就已经配置好了,之后也会专门写文章去配置maven,在这里就不多说了)。
八、接下来我们一起完成lombok生成器,可以大大减少我们写代码的时间。
1、选中项目名称,右击,选择下方OpenModuleSettings。
2、选择Libraries,选择左上角“+”,选择java。
3、找到mysql下的jar包,双击加入。
4、点击右侧Maven,点开plugins,找到mybatis-generator,点开后双击 mybatis-generator:generator,关于user的代码已经生成。
九、创建service包,写接口类,在service下创建Impl文件夹,写实现类。
1、创建IAuthUserService接口。
package com.xiaohui.cms.service;
import com.xiaohui.cms.entity.user.AuthUser;
import java.util.List;
public interface IAuthUserService {
public List<AuthUser> show();
public void add(AuthUser authUser);
public void update(AuthUser authUser);
public void delete(int id);
2、创建AuthUserServiceImpl实现类。
package com.xiaohui.cms.service.impl;
import com.xiaohui.cms.dao.user.AuthUserMapper;
import com.xiaohui.cms.entity.user.AuthUser;
import com.xiaohui.cms.service.IAuthUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service("/authUserService")
public class AuthUserserviceImpl implements IAuthUserService {
@Autowired(required = false)
private AuthUserMapper authUserMapper;
//用户查询
public List<AuthUser> show() {
List<AuthUser> users = authUserMapper.selectAll();
return users;
}
//用户添加
public void add(AuthUser authUser) {
String sql= "insert into authUser(username,phone,passwd,portrait)"+
"value(:username,:phone,:passwd,:portrait)";
Map<String,Object> param = new HashMap<>();
param.put("username",authUser.getUsername());
param.put("phone",authUser.getPhone());
param.put("passwd",authUser.getPasswd());
param.put("portrait",authUser.getPortrait());
authUserMapper.insert(authUser);
}
//用户修改
@GetMapping("/update")
@ResponseBody
public void update(AuthUser authUser) {
authUserMapper.updateByPrimaryKey(authUser);
}
//用户删除
public void delete (int id) {
authUserMapper.deleteByPrimaryKey(id);
}
}
十、创建controller包,包下写AuthUserController类。
package com.xiaohui.cms.controller;
import com.xiaohui.cms.entity.user.AuthUser;
import com.xiaohui.cms.service.IAuthUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("authuser")
public class AuthUserController {
@Autowired(required = false)
private IAuthUserService authUserService;
//用户查询
@GetMapping("/show")
@ResponseBody
@CrossOrigin(origins = "*")//允许跨元请求
public List<AuthUser> show() {
return authUserService.show();
}
//用户添加
@GetMapping("/add")
@ResponseBody
private String add(AuthUser authUser) {
AuthUser users=new AuthUser();
users.setUsername("小志");
users.setPhone("1988773");
users.setPasswd("11111");
users.setPortrait("1233");
authUserService.add(users);
return "用户添加成功";
}
//用户修改
@GetMapping("/update")
@ResponseBody
public String update() {
AuthUser users=new AuthUser();
users.setId(1);
users.setUsername("liyifeng");
users.setPhone("12345323");
users.setPasswd("222");
users.setPortrait("12222");
authUserService.update(users);
return "修改成功";
}
//用户删除
@GetMapping("/delete")
@ResponseBody
public String delete() {
AuthUser users=new AuthUser();
users.setId(3);
authUserService.delete(3);
return "删除成功";
}
}
十一、启动项目,在浏览器中输入服务器端口号进行测试,我的端口号为8082,如下图:
1、查看用户列表。
2、添加用户信息(注意网址)。
浏览器显示
数据库显示
3、修改id为1用户信息。
浏览器显示
数据库显示
4、删除id为6的数据
浏览器显示
数据库显示
如此,我们就成功的在idea中完成一套增删改查啦,快行动起来吧!