1、订单对应用户:一对一 ,数据库
CREATE TABLE `orderinfo` (
`id` int(11) DEFAULT NULL,
`ordertime` datetime DEFAULT NULL,
`total` decimal(8,2) DEFAULT NULL,
`uid` int(11) DEFAULT NULL
);
CREATE TABLE `user` (
`id` int(11) DEFAULT NULL,
`username` varchar(50) DEFAULT NULL
);
2、实体
public class OrderInfo {
private Integer id;
private Date ordertime;
private Double total;
private Integer uid;
private UserInfo user;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Date getOrdertime() {
return ordertime;
}
public void setOrdertime(Date ordertime) {
this.ordertime = ordertime;
}
public Double getTotal() {
return total;
}
public void setTotal(Double total) {
this.total = total;
}
public Integer getUid() {
return uid;
}
public void setUid(Integer uid) {
this.uid = uid;
}
public UserInfo getUser() {
return user;
}
public void setUser(UserInfo user) {
this.user = user;
}
@Override
public String toString() {
return "OrderInfo{" +
"id=" + id +
", ordertime=" + ordertime +
", total=" + total +
", uid=" + uid +
", user=" + user +
'}';
}
}
public class UserInfo {
private Integer id;
private String username;
private List<OrderInfo> orderInfoList;
private List<Role> roleList;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public List<OrderInfo> getOrderInfoList() {
return orderInfoList;
}
public void setOrderInfoList(List<OrderInfo> orderInfoList) {
this.orderInfoList = orderInfoList;
}
public List<Role> getRoleList() {
return roleList;
}
public void setRoleList(List<Role> roleList) {
this.roleList = roleList;
}
@Override
public String toString() {
return "UserInfo{" +
"id=" + id +
", username='" + username + '\'' +
", orderInfoList=" + orderInfoList +
", roleList=" + roleList +
'}';
}
}
3、maper 接口
public interface OrderMapper {
@Results({
@Result(property = "id",column = "id"),
@Result(property = "ordertime",column="ordertime"),
@Result(property = "total",column="total"),
@Result(property = "user",column = "uid",javaType = UserInfo.class,
one = @One(select = "com.deppon.mapper.UserMapper.findUserById"))
})
@Select("select * from orderinfo")
public List<OrderInfo> findOrderList();
}
public interface UserMapper {
//List<UserInfo> findAllUsers();
@Select("select * from user")
List<UserInfo> findUserList();
@Insert("insert into user values(#{id},#{username})")
void addUser(UserInfo userInfo);
@Update("update user set username = #{username} where id = #{id}")
void update(UserInfo userInfo);
List<UserInfo> findAllUserAndRole();
@Select("select * from user where id = #{id}")
UserInfo findUserById(Integer id);
}
4、测试类
public class TestOrderMapperUtil {
private OrderMapper orderMapper;
@Before
public void before() throws IOException {
String path = "SqlConfig.xml";
InputStream inputStream = Resources.getResourceAsStream(path);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession session = sqlSessionFactory.openSession(true);
orderMapper = session.getMapper(OrderMapper.class);
}
@Test
public void test(){
List<OrderInfo> orderList = orderMapper.findOrderList();
System.out.println(orderList);
}
}
备注:使用注解开发,核心配置文件中应该配置
<mappers>
<mapper class="com.check.mybatis.mapper.OrderMapper"></mapper>
<mapper class="com.check.mybatis.mapper.UserMapper"></mapper>
</mappers>
授予root用户增删改查权限,密码:123456
mysql>grant select,delete,update,create,drop on *.* to root@"%" identified by "123456";