由于工作原因使用Eclipse和Oracle,自己没事练习记录一下。
由于ojdbc不够银杏,这里orcale的依赖要手动导入maven库中!
这个是解决办法http://t.csdn.cn/l1Lu1
项目结构
1.orcale数据库
CREATE TABLE scott.STUINFO(
STUID INT,
STUNAME VARCHAR(10),
SEX INT,
AGE INT,
CLASSNO VARCHAR(10),
STUADDRESS VARCHAR(10),
GRADE INT,
ENROLDATE DATE,
IDNUMBER VARCHAR(20));
INSERT INTO scott.STUINFO (STUID, STUNAME, SEX, AGE, CLASSNO, STUADDRESS, GRADE, ENROLDATE, IDNUMBER)
values ('1', '龙七', '1', 26, 'C201801', '厦门市', '2018', to_date('01-09-2018', 'dd-mm-yyyy'),'3503021992XXXXXXXX');
INSERT into scott.STUINFO (STUID, STUNAME, SEX, AGE, STUADDRESS, GRADE, ENROLDATE, IDNUMBER)
values (2, '龙八', 1, 25, '厦门市', '2018', to_date('01-09-2018', 'dd-mm-yyyy'), '3503021993XXXXXXXX');
ALTER TABLE scott.STUINFO RENAME TO student;
select * from student;
2.pom文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.0</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<groupId>com.xcc</groupId>
<artifactId>Test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Test</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.orcale</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.1.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
3.yml配置文件
server:
port: 8888
spring:
datasource:
driver-class-name: oracle.jdbc.OracleDriver
url: jdbc:oracle:thin:@127.0.0.1:1521:orcl
username: scott
password: tiger
#配置日志
mybatis:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
4.service接口
public interface StudentService {
List<Student> getAllStudent();
}
5.service实现类
@Service
public class StrudentServiceImpl implements StudentService{
@Autowired
private StudentMapper studentMapper;
@Override
public List<Student> getAllStudent() {
return studentMapper.selectList();
}
}
6.mapper层
public interface StudentMapper {
List<Student> selectList();
}
7.mapper.xml
这里注意:这个xml文件的层级目录要和上面mapper保持一致,并且eclipse下包名只能一层一层创建。
<?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.xcc.mapper.StudentMapper">
<select id="selectList" resultType="com.xcc.domain.Student">
SELECT * FROM student
</select>
</mapper>
8.实体类
这里可以用lombok,导入依赖然后添加几个注解就不用写getter、setter以及构造方法了
public class Student {
private Integer STUID;
private String STUNAME ;
private Integer SEX ;
private Integer AGE ;
private String CLASSNO;
private String STUADDRESS ;
private Integer GRADE;
private Date ENROLDATE ;
private String IDNUMBER;
public Integer getSTUID() {
return STUID;
}
public void setSTUID(Integer sTUID) {
STUID = sTUID;
}
public String getSTUNAME() {
return STUNAME;
}
public void setSTUNAME(String sTUNAME) {
STUNAME = sTUNAME;
}
public Integer getSEX() {
return SEX;
}
public void setSEX(Integer sEX) {
SEX = sEX;
}
public Integer getAGE() {
return AGE;
}
public void setAGE(Integer aGE) {
AGE = aGE;
}
public String getCLASSNO() {
return CLASSNO;
}
public void setCLASSNO(String cLASSNO) {
CLASSNO = cLASSNO;
}
public String getSTUADDRESS() {
return STUADDRESS;
}
public void setSTUADDRESS(String sTUADDRESS) {
STUADDRESS = sTUADDRESS;
}
public Integer getGRADE() {
return GRADE;
}
public void setGRADE(Integer gRADE) {
GRADE = gRADE;
}
public Date getENROLDATE() {
return ENROLDATE;
}
public void setENROLDATE(Date eNROLDATE) {
ENROLDATE = eNROLDATE;
}
public String getIDNUMBER() {
return IDNUMBER;
}
public void setIDNUMBER(String iDNUMBER) {
IDNUMBER = iDNUMBER;
}
public Student() {
super();
}
public Student(Integer sTUID, String sTUNAME, Integer sEX, Integer aGE, String cLASSNO, String sTUADDRESS,
Integer gRADE, Date eNROLDATE, String iDNUMBER) {
super();
STUID = sTUID;
STUNAME = sTUNAME;
SEX = sEX;
AGE = aGE;
CLASSNO = cLASSNO;
STUADDRESS = sTUADDRESS;
GRADE = gRADE;
ENROLDATE = eNROLDATE;
IDNUMBER = iDNUMBER;
}
@Override
public String toString() {
return "Student [STUID=" + STUID + ", STUNAME=" + STUNAME + ", SEX=" + SEX + ", AGE=" + AGE + ", CLASSNO="
+ CLASSNO + ", STUADDRESS=" + STUADDRESS + ", GRADE=" + GRADE + ", ENROLDATE=" + ENROLDATE
+ ", IDNUMBER=" + IDNUMBER + "]";
}
}
9.Controller层
@RestController
public class StudentController {
@Autowired
private StudentService studentService;
@GetMapping("/getAll")
public List<Student> getAllStudent() {
return studentService.getAllStudent();
}
}