在使用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中完成一套增删改查啦,快行动起来吧!
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/290419.html