实现一个简单的从网页获取数据库成员信息的操作。
大致效果如下:
结构图:
创建maven工程,在spring-all模块的pom.xml中加载spring-boot-starter-parent.后面的工程只需要继承这个spring-all工程作为子工程即可。
<parent>
<artifactId>spring-boot-starter-parent</artifactId>
<groupId>org.springframework.boot</groupId>
<version>2.2.5.RELEASE</version>
</parent>
在spring-boot-user模块的pom中添加工程需要的jar。包括jdbc,starter-web,mybatis
<dependencies>
<!--starter-web-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--持久层-->
<!--jdbc-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
<scope>runtime</scope>
</dependency>
<!--mybatis-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
在application.properties中。完成jdbc的datasource配置和mybatis的配置文件读取路径。
server.port=8080
#server.servlet.context-path=/spring-boot-user
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/zb_database
spring.datasource.username=root
spring.datasource.password=root
mybatis.mapper-locations=classpath:mappers/*.xml
在-resources/mappers/userMapper.xml中,完成mybatis操作数据库的语句编写。
`
<?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.zb.mapper.userMaper">
<update id="addPoints">
update t_user set points = points + #{points} where user_id = #{user_id};
</update>
<select id="queryUserById" resultType="com.zb.domain.User">
select * from t_user where user_id = #{user_id};
</select>
</mapper>
调用mybatis的操作类是userMaper.java,此类的方法对应的功能实现,就是userMaper.xml
public interface userMaper {
void addPoint(@Param("user_id") String user_id, @Param("points") int points);
User queryUserById(@Param("user_id") String user_id);
}
MyController.java实现servlet的功能,连接url请求,返回数据库中的数据给前端。
@RestController
public class MyController {
@Autowired
private iuserService iuser = null;
@RequestMapping("/point.action")
public String point(String userId) {
try{
int ipoint = iuser.getUserPoint(userId);
return "{\"points\":\""+ipoint+"\"}";
}catch (Exception e) {
e.printStackTrace();
return "{\"proints\":\"-1\"}";
}
}
}