idea创建springboot+mybatis+mysql+maven(注解版)
idea创建springboot
创建完成目录结构如下:
SpringBoot的简单输出
修改项目目录如下:
在pox.xml中添加mybatis jar包,更新maven
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
pox.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.4.3</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.zhongyou</groupId>
<artifactId>spring_first</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>spring_first</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
创建HelloController创建输出方法
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello(){
System.out.println("hello to word");
return "hello to word";
}
}
启动DemoApplication Main方法,打开浏览器输入:localhost:8080/hello页面如下
配置mysql数据库并执行简单的sql
mysql数据库创建springdemo用户及数据库,创建user表
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(18) NOT NULL COMMENT '主键',
`name` varchar(50) NOT NULL COMMENT '姓名',
`sex` varchar(10) DEFAULT NULL COMMENT '性别',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='基本信息';
在application.properties中配置mysql
spring.datasource.url=jdbc:mysql://localhost:3306/springdemo
spring.datasource.username=springdemo
spring.datasource.password=Ab123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
实例化user
public class User {
private int id;
private String name;
private String sex;
...省略get,setF方法
}
创建mapper层相当于dao层
@Mapper
@Component
public interface UserMapper {
@Select("select * from user where id = #{id}")
User selectUserById(@Param("id") Integer id);
@Insert("INSERT INTO user (`id`, `name`, `sex`) VALUES (#{id}, #{name}, #{sex})")
int insertUser(User user);
@RequestMapping("/updateuser")
public Object updateuser(Integer id,String name,String sex){
User user = new User();
user.setId(id);
user.setName(name);
user.setSex(sex);
return userMapper.updateUser(user);
}
@Delete("delete from user where id = #{id}")
int deleteUserById(@Param("id") Integer id);
}
在HellorController执行语句:
@RestController
public class HelloController {
@Autowired
private UserMapper userMapper;
@RequestMapping("/getuser")
public Object getuser(Integer id){
return userMapper.selectUserById(id);
}
@RequestMapping("/adduser")
public Object adduser(Integer id,String name,String sex){
User user = new User();
user.setId(id);
user.setName(name);
user.setSex(sex);
return userMapper.insertUser(user);
}
@Update("UPDATE user SET name =#{name} WHERE id = #{id}")
int updateUser(User user);
@RequestMapping("/deleteuser")
public Object adduser(Integer id){
return userMapper.deleteUserById(id);
}
}
浏览器执行
localhost:8080/getuser?id=1 如下图