路径:com/hcxy/mapper
PersonMapper.xml
select *,p.id pid,c.id cid from tb_person p,tb_idcard c where p.card_id = c.id and p.id = #{id}
实体
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Person {
private int id;
private String name;
private int age;
private String sex;
private IdCard idCard;
}
@Data
@AllArgsConstructor
@NoArgsConstructor
public class IdCard {
private int id;
private String code;
}
还有service 层
一对多xml
实体:
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Orders {
private int id;
private String number;
private int userId;
// private List personList;
}
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private int id;
private String username;
private String address;
private List orders;
}
多对多
xml名称要与接口名称一样,不然等着死
实体类
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Orders {
private int id;
private String number;
private int userId;
private List personList;
}
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Product {
private int id;
private String name;
private double price;
private List ordersList;
}
mabatis的写法
public class FactoryUtils {
public static SqlSessionFactory factory;
static {
String resource = "Employee-config.xml";
Reader reader = null;
try {
reader = Resources.getResourceAsReader(resource);
factory = new SqlSessionFactoryBuilder().build(reader);
} catch (IOException e) {
e.printStackTrace();
}
}
public static SqlSession getConnect(){
return factory.openSession();
}
}
配置文件
#取别名 mybatis.type-aliases-package=com.hcxy.pojo # 数据库驱动: spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver # 数据库连接地址 spring.datasource.url=jdbc:mysql://localhost:3306/books?useUnicode=true&characterEncoding=utf8&autoReconnect=true&serverTimezone=UTC&useSSL=false # 数据库用户名&密码: spring.datasource.username=root spring.datasource.password=123456
AOP
package com.hcxy.aspect;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.*;
import org.springframework.stereotype.Component;
@Component
@Aspect
public class MyAspect {
// @Pointcut("execution(* com.hcxy.service.*.*(..))")
@Pointcut("execution(* com.hcxy.service.ArticleServiceImpl.*(..))")
public void trans(){
}
@Before("trans()")
public void beforeAdvice(){
System.out.println("开始查询数据库");
}
@After("trans()")
public void after(JoinPoint point){
System.out.println("后置通知执行");
System.out.println(point.getClass());
System.out.println(point.getSignature().getName());
}
@Around("trans()")
public Object around(ProceedingJoinPoint point){
System.out.println("1111在方法执行前调用");
Object proceed = null;
try {
proceed = point.proceed();
} catch (Throwable throwable) {
throwable.printStackTrace();
}
System.out.println("2222在方法执行后调用");
return proceed;
}
@AfterReturning("trans()")
public void after_return(JoinPoint point){
System.out.println("正常结束的后置通知执行");
}
@AfterThrowing("trans()")
public void after_throw(JoinPoint poin){
System.out.println("异常结束的后置通知执行");
}
}
一对多
@Data
public class User {
private int id;
private String username;
private String address;
private List orders;
}
@Data
public class Orders {
private int id;
private String number;
private int userId;
// private List personList;
}
xml
dao
public interface UserMapper {
List getUserMapperByID(int id);
}
service
1.
public interface UserMapper {
List getUserMapperByID(int id);
}
2.
import java.util.List;
@Service
public class UserServiceImpl implements UserService{
@Autowired
private UserMapper userMapper;
@Override
public List getUserMapperById(int id) {
return userMapper.getUserMapperByID(id);
}
}
Text
package com.hcxy.demo;
import java.util.List;
@SpringBootTest
public class ExamdemoApplicationTests {
@Autowired
private ArticleService articleService;
@Autowired
private PersonService personService;
@Autowired
UserService userService;
@Test
public void getMessage(){
Article result = articleService.getArticleById(1);
System.out.println(result);
}
@Test
public void getPersonById(){
Person person = personService.getPersonById(1);
System.out.println("person = " + person);
}
@Test
public void UserMapperById(){
List list = userService.getUserMapperById(1);
System.out.println("list = " + list);
}
}



