框架:springboot
数据源:druid
数据库:mysql
controller层
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
//增
@RequestMapping("/insertUser")
public void insertUser(User user) {
userService.insertUser(user);
}
//删
@RequestMapping("/deleteUser")
public void deleteUser(int id) {
userService.deleteUser(id);
}
@RequestMapping("/updateUser")
public void updateUser(User user) {
userService.updateUser(user);
}
//查
@RequestMapping("/selectUser")
@ResponseBody
public List<User> selectUser() {
List<User> users = userService.selectUser();
return users;
}
}
service层
public interface UserService {
//增
void insertUser(User user);
//删
void deleteUser(int id);
//改
void updateUser(User user);
//查
List<User> selectUser();
}
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao;
@Override
public void insertUser(User user) {
userDao.insertUser(user);
}
@Override
public void deleteUser(int id) {
userDao.deleteUser(id);
}
@Override
public void updateUser(User user) {
userDao.updateUser(user);
}
@Override
public List<User> selectUser() {
List<User> users = userDao.selectUser();
return users;
}
}
dao层
接口
public interface UserDao {
//增
void insertUser(User user);
//删
void deleteUser(int id);
//改
void updateUser(User user);
//查
List<User> selectUser();
}
UserMapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yn.dao.UserDao"> <!--要实现dao接口的全限定名-->
<!--增--> <!--keyProperty是Java对象的属性名,useGeneratedKeys="true":设置是否使用JDBC的getGenereatedKeys方法获取主键并赋值到keyProperty-->
<insert id="insertUser" keyProperty="id" useGeneratedKeys="true"> <!--向表中插入自增ID-->
INSERT INTO USER (NAME,PASSWORD) VALUES (#{name},#{password})
</insert>
<!--删-->
<delete id="deleteUser">
DELETE FROM USER WHERE id=#{id}
</delete>
<!--改-->
<update id="updateUser">
update USER
<set>
<if test="name != null and name != ''">
NAME = #{name},
</if>
<if test="password != null and password != ''">
PASSWORD = #{password},
</if>
</set>
WHERE id = #{id}
</update>
<!--查-->
<select id="selectUser" resultType="User">
SELECT * FROM USER LIMIT 0, 1000
</select>
</mapper>
entity
public class User {
private Integer id;
private String name;
private String password;
public User() {
}
public User(Integer id, String name, String password) {
this.id = id;
this.name = name;
this.password = password;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", password='" + password + '\'' +
'}';
}
}
配置
yml
server:
port: 9090 #端口号
servlet:
context-path: /yn #项目名
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver #数据库驱动
url: jdbc:mysql://127.168.17.0:3306/test #指定mysql数据库中的test子库
type: com.alibaba.druid.pool.DruidDataSource #数据源
username: root #用户名
password: root #密码
mybatis:
mapper-locations: classpath:com/yn/mapper/*.xml #注册映射文件
type-aliases-package: com.yn.entity #实体类定义别名
mvc: #配置视图解析器
view:
prefix: /
suffix: .jsp
入口类扫描dao
//扫描dao
@MapperScan("com.yn.dao")
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!--整合mybatis-->
<!--mybatis和springboot的整合包-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<!--数据源-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.29</version>
</dependency>
<!--数据库驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.13</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>