赞
踩
口号:省钱小帮手
1、开启一个spring boot项目,用于做后端服务器
2、用微信小程序作为前端,小程序实现扫描入库和输入入库两种模式
3、实现获取淘宝、京东(特别是京东到家)指定商品的东西的价格的功能,有相关的接口
扩展功能:
所有有价格波动和趋势的都可以集成进来,对比分析各家价格趋势,给用户提供最好的购物咨询服务。
1、安装好数据库mysql之后,由于msyql8之后修改了之前的加密系统,所以得进行修改,修改步骤如下:
(1)将加密方式改为旧的,在配置文件C:\ProgramData\MySQL\MySQL Server 8.0的my.ini中添加如下
[mysqld]
default_authentication_plugin=mysql_native_password
(2)使用了新的加密方式,改为旧的加密方式,而root用户也要进行相应的更改才可以,
因为root用户还是新的加方式,所以使用alter语句改为重置密码来覆盖新的加密方式的密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’;
注意:引号里面的passwrod应该替换成你自己的Password,然后使用datagrid或者navicat就可以进行连接了,我这里使用datagrid。
使用datagrid连接数据库的时候需要下载相关的驱动,先测试是否能够连通,如果可以说明成功。也可以使用idea进行数据库连接。
在项目中加入Mysql的依赖:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
mysql的版本应该根据自己环境中的mysql版本来决定,我的mysql是8.0版本,所以驱动也用8版本的,同时
配置:
#数据库相关
spring.datasource.name=shengqian
spring.datasource.username=root
spring.datasource.password=kexuejia123
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/shengqian?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false
#mybatis相关
#mybatis配置
mybatis.config-location=classpath:mybatis/mybatic-config.xml
mybatis.mapper-locations=classpath*:mybatis/mapper/*.xml
在数据库中创建好几个表,然后实现相对应的实体和操作实体的mapper
然后在mybatis-config.xml中写入
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <typeAliases> <!-- 系统类型 --> <typeAlias alias="Integer" type="java.lang.Integer"/> <typeAlias alias="Long" type="java.lang.Long"/> <typeAlias alias="String" type="java.lang.String"/> <typeAlias alias="HashMap" type="java.util.HashMap"/> <typeAlias alias="LinkedHashMap" type="java.util.LinkedHashMap"/> <typeAlias alias="ArrayList" type="java.util.ArrayList"/> <typeAlias alias="LinkedList" type="java.util.LinkedList"/> <!-- 自定义类型 --> <package name="com.shengqian.demo.Entity"/> <package name="com.shengqian.demo.dto" /> </typeAliases> </configuration>
然后写mapper对应的xml配置文件
mybatis xml文件编写技巧
1、refid可以引入别的代码,减少重复代码的书写
2、可以构造sqlNode动态生成sql语句
3、可以使用拦截器,先生成一个默认的sql,然后使用拦截器拦截并重新生成sqlNode
定义第一个接口,用户注册 访问入口:/register
public class Path {
public static final String RRGISTER = "/register";
}
这个Path也可以改为enum类型,用来管理请求路径
然后写controller
@Controller
public class UserController {
@Autowired
private UserInfoService userInfoService;
@RequestMapping(value = Path.RRGISTER, method = RequestMethod.POST)
@ResponseBody
public Integer register(@RequestParam("username") final String name,
@RequestParam("password") final String pwd,
@RequestParam("phone") final String phone){
……
return 0;
}
}
@Controller 表明这是一个控制器,这样spring 会自动给该类生成一个bean
定义UserInfoService接口
public interface UserInfoService {
UserInfoDto getUser(String phone);
Integer addUser(UserInfoDto dto);
}
实现UserInfoService接口
@Service public class UserInfoServiceImpl implements UserInfoService { private UserInfoMapper userInfoMapper; public UserInfoServiceImpl(UserInfoMapper userInfoMapper){ this.userInfoMapper = userInfoMapper; } @Override public UserInfoDto getUser(String phone) { …… return null; } @Override public Integer addUser(UserInfoDto dto) { …… return 0; } }
然后定义UserInfoMapper
@Mapper
@Component(value = "userinfomapper")
public interface UserInfoMapper {
UserInfoDto getUserByPhone(String phone);
void addUser(@Param("username") String userName, @Param("phone")String phone, @Param("passwordhash") String passwordhash, @Param("salt") String salt);
}
最后定义UserInfoMapper对应的.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.shengqian.demo.mapper.UserInfoMapper"> <resultMap id="userResultMap" type="UserInfoDto"> <id column="uid" property="uid"/> <result column="user_name" property="username"/> <result column="user_phone" property="phone"/> <result column="user_pwd" property="passwordhash"/> <result column="salt" property="salt" /> </resultMap> <!-- 查询用户信息 --> <select id="getUserByPhone" parameterType="String" resultMap="userResultMap"> SELECT A.uid, A.user_name, A.user_phone, A.user_pwd, A.salt FROM user AS A WHERE A.user_phone = #{phone} </select> <select id="addUser" parameterType="UserInfoDto" resultType="Integer"> INSERT INTO user( user_name,user_phone,user_pwd,salt ) VALUES ( #{username},#{phone},#{passwordhash},#{salt} ) </select> </mapper>
该接口使用到了UserInfoDto数据传输对象。就是一个简单的pojo。运行打开程序,就可以使用啦。
接下来开始定制新的接口。具体spring boot + mybatis 接口开发流程在我的上一篇博客中有详细的描述,请移步观看。https://blog.csdn.net/xielinrui123/article/details/84990222
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。