继上次分享之后,因为还有种编码格式事利用.XML文件去编码数据库的操作,所以现在分享一种利用.XML和.properties的方式去构建SpringBoot的方式。
2、重点1、结构包的分享
2、各个层级的含义
已在上篇文章中有写,请查看
3、话不多说,直接上代码
1、studentController.java
package com.example.controller;
import com.example.entity.Student;
import com.example.service.studentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Controller // 在Controller层必须要有的注解
@RequestMapping
public class studentController {
@Autowired
private studentService studentservice;
@RequestMapping("/listAll")
public void listAll() {
// 查找列表数据
List students = studentservice.SelectAll();
// 列出查找出的信息
System.out.println(students);
}
@RequestMapping("/listBySex")
public List listBySex(boolean sex) {
List students1 = studentservice.SelectBySex(sex);
if (students1.toString().equals("张飞小三")) {
return null;
}
return students1;
}
}
2、studentDao.java
package com.example.dao;
import com.example.entity.Student;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface studentDao {
List SelectAll();
List SelectBySex(Boolean sex);
String Insert();
}
3、Student.java
package com.example.entity;
import lombok.*;
import java.util.Date;
@Data // Set设置 Get获取
@AllArgsConstructor // 生成一个包含所有参数的构造方法
@NoArgsConstructor // 生成一个无参数的构造方法
// @Repository(value = “/Student”)
public class Student {
// 学生姓名 数据库设置成varchar类型 private String name; // 学生年龄 数据库设置成int类型 private int age; // 学生性别 0(男) 、 1(女) 数据库设置成 tinyint类型 private boolean sex; // 学生身份证号 数据库设置成 int类型,但明显长度不够 private Integer IDCord; // 学生生日 数据库设置成Date类型 private Date birthDay;
}
4、studentService.java
package com.example.service;
import com.example.entity.Student;
import java.util.List;
public interface studentService {
List SelectAll();
List SelectBySex(Boolean sex);
String Insert();
}
5、studentServiceImpl.java
package com.example.service.serviceImpl;
import com.example.dao.studentDao;
import com.example.entity.Student;
import com.example.service.studentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@Service("studentService") // 加上该注解,将会将该类自动注入到spring容器中,不需要在applicationContext.xml中文件中再次定义bean了
@Transactional // 需要AOP拦截及事务的处理,会影响到性能,只有对public才会起作用。放在实现接口的实现类上
public class studentServiceImpl implements studentService {
@Autowired
private studentDao studentdao;
@Override
public List SelectAll() {
return studentdao.SelectAll();
}
@Override
public List SelectBySex(Boolean sex) {
return studentdao.SelectBySex(sex);
}
@Override
public String Insert() {
return studentdao.Insert();
}
}
6、studentMapper.xml
7、application.properties
#Mybatis 配置 >>> 配置xml文件所在的路径,配置映射类所在的包名 mybatis.mapper-locations=classpath:mapper/*.xml mybatis.type-aliases-package=com.example.dao # 注解链接数据库 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/school?useUnicode=true&characterEncoding=UTF-8 spring.datasource.username=****** spring.datasource.password=******* spring.datasource.dbcp2.max-idle=20 spring.datasource.dbcp2.min-idle=10 # 注解使tomcat端口号不冲突 server.port=88883、有问题请联系或留言。



