赞
踩
在Spring Boot项目的pom.xml
文件中添加依赖
<!-- springboot:2.7.4 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- mybatis --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2.2</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency>
配置数据源:在application.properties
(或application.yml
)文件中配置数据源信息,如数据库连接URL、用户名和密码等。
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/yibinstore?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: root
password: root
mybatis:
mapper-locations: classpath:mapper/*.xml
项目结构:
编写实体类
@Setter @Getter @NoArgsConstructor @Accessors(chain = true) public class Order implements Serializable { /** * 订单id */ private Integer oid; /** * 用户id */ private Integer uid; /** * 收货人姓名 */ private String recvName; /** * 收货人电话 */ private String recvPhone; /** * 收货地址 */ private String recvAddress; /** * 总价 */ private Long totalPrice; /** * 状态:0-未支付,1-已支付 */ private Integer status; /** * 下单时间 */ private Date orderTime; /** * 支付时间 */ private Date payTime; /** * 创建人 */ private String createdUser; /** * 创建时间 */ private Date createdTime; /** * 最后修改执行人 */ private String modifiedUser; /** * 最后修改时间 */ private Date modifiedTime; }
创建Mapper接口和XML文件:创建一个Mapper接口,用于定义数据库操作方法,并创建对应的XML文件,用于编写SQL语句。
mapper文件
@Mapper public interface OrderMapper { /** * 新增订单信息 * @param order 订单数据 */ int addOrder(Order order); /** * 更改订单信息 * @param oid 订单id * @param status 订单状态: * 0-未支付 * 1-已支付 * @param orderTime 支付时间 */ int updateOrder(@Param("oid") Integer oid, @Param("status") Integer status, @Param("orderTime") Date orderTime); /** * 查询订单 * @param oid 订单id */ Order selectOrderByOid(Integer oid); }
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.aben.union.mapper.OrderMapper"> <resultMap id="resultMapOrder" type="com.aben.union.entity.Order"> <!-- 主键不可以省略,一定要写 --> <!-- colum:数据库中的列名 property:java类中对应的列名 相同时可以省略 --> <id column="oid" property="oid"></id> <result column="recv_name" property="recvName"></result> <result column="recv_phone" property="recvPhone"></result> <result column="recv_address" property="recvAddress"></result> <result column="total_price" property="totalPrice"></result> <result column="order_time" property="orderTime"></result> <result column="pay_time" property="payTime"></result> <result column="created_user" property="createdUser"></result> <result column="created_time" property="createdTime"></result> <result column="modified_user" property="modifiedUser"></result> <result column="modified_time" property="modifiedTime"></result> </resultMap> <insert id="addOrder" parameterType="com.aben.union.entity.Order" useGeneratedKeys="true" keyProperty="oid"> insert into t_order(uid,recv_name,recv_phone,recv_address,total_price, status,order_time,pay_time,created_user,created_time, modified_user,modified_time) values(#{uid},#{recvName},#{recvPhone},#{recvAddress},#{totalPrice}, #{status},#{orderTime},#{payTime},#{createdUser}, #{createdTime},#{modifiedUser},#{modifiedTime}); </insert> <update id="updateOrder"> update t_order set status=#{status} and order_time=#{orderTime} where oid=#{oid} </update> <select id="selectOrderByOid" resultMap="resultMapOrder"> select * from t_order where oid=#{oid} </select> </mapper>
编写service层
@Service public class OrderServiceImpl implements OrderService { @Inject private OrderMapper orderMapper; @Override public Boolean addOrder() { Order order = new Order(); order.setUid(1001) .setRecvName("isabener") .setRecvAddress("四川省成都市") .setRecvPhone("18200000000") .setTotalPrice(99L) .setStatus(1) .setOrderTime(new Date()) .setPayTime(new Date()) .setCreatedUser("admin") .setCreatedTime(new Date()) .setModifiedUser("admin") .setModifiedTime(new Date()); return orderMapper.addOrder(order) == 1 ? Boolean.TRUE : Boolean.FALSE; } @Override public Boolean updateOrder() { return orderMapper.updateOrder(1, 0, new Date()) == 1 ? Boolean.TRUE : Boolean.FALSE; } @Override public Order selectOrderByOid() { return orderMapper.selectOrderByOid(1); } }
web层调用
@RestController @RequestMapping("/order") public class OrderController { @Inject private OrderService orderService; @GetMapping("/add") public Boolean addOrder() { return orderService.addOrder(); } @GetMapping("/update") public Boolean updateOrder() { return orderService.updateOrder(); } @GetMapping("/get") public Order getOrder() { return orderService.selectOrderByOid(); } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。