在项目中创建lib包,导入jar包
建立项目结构为
创建数据库
#使用数据库
use mydb;
#创建表
create table car(
cid int primary key auto_increment,
cnumber varchar(20),
type varchar(20),
owner varchar(20),
phone varchar(11),
mark varchar(50)
);
insert into car(cnumber,type,owner,phone,mark) values('豫A34G87','轿车','张三','13666666666','临时车');
insert into car(cnumber,type,owner,phone,mark) values('豫B38379','SUV','李四','1566666666','月卡');
insert into car(cnumber,type,owner,phone,mark) values('豫CR9703','卡车','王五','1888888888','年卡');
select * from car;
各层代码
创建bean层(实体类Car)
package com.chai.bean;
public class Car {
public int cid;
public String cnumber;
public String type;
public String owner;
public String phone;
public String mark;
public int getCid() {
return cid;
}
public void setCid(int cid) {
this.cid = cid;
}
public String getCnumber() {
return cnumber;
}
public void setCnumber(String cnumber) {
this.cnumber = cnumber;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getOwner() {
return owner;
}
public void setOwner(String owner) {
this.owner = owner;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getMark() {
return mark;
}
public void setMark(String mark) {
this.mark = mark;
}
@Override
public String toString() {
return "User{" +
"cid=" + cid +
", cnumber='" + cnumber + '\'' +
", type='" + type + '\'' +
", owner='" + owner + '\'' +
", phone='" + phone + '\'' +
", mark='" + mark + '\'' +
'}';
}
}
dao层(接口)
package com.chai.dao;
import com.chai.bean.Car;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface CarDao {
//全查
@Select("select * from car")
List<Car> selectAll();
//添加
@Insert("insert into car(cnumber,type,owner,phone,mark)values(#{cnumber},#{type},#{owner},#{phone},#{mark});")
int tianjia(Car car);
//删除
@Delete("delete from car where cid=#{cid}")
int shanchu(int cid);
//单查
@Select("select * from car where cid=#{cid}")
List<Car> dancha(int cid);
//修改
@Update("update car set cnumber=#{cnumber},type=#{type},owner=#{owner},phone=#{phone},mark=#{mark} where cid=#{cid};")
int xiugai(Car car);
}
service层
接口
package com.chai.service;
import com.chai.bean.Car;
import java.util.List;
public interface CarService {
List<Car> findAll();
int tianjia(Car car);
int shanchu(int cid);
List<Car> dancha(int cid);
int xiugai(Car car);
}
继承类
package com.chai.service.impl;
import com.chai.bean.Car;
import com.chai.dao.CarDao;
import com.chai.service.CarService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class CarServiceimpl implements CarService {
@Autowired
CarDao carDao;
//全查
@Override
public List<Car> findAll() {
return carDao.selectAll();
}
//添加
@Override
public int tianjia(Car car) {
return carDao.tianjia(car);
}
//删除
@Override
public int shanchu(int cid) {
return carDao.shanchu(cid);
}
//单查
@Override
public List<Car> dancha(int cid) {
return carDao.dancha(cid);
}
//修改
@Override
public int xiugai(Car car) {
return carDao.xiugai(car);
}
}
spring.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
<!--扫描注解:1)在service的接口实现类定义注解 2)dao接口没有实现类,直接在接口上定义
注解,通过下来自动获得代理对象-->
<context:component-scan base-package="com.chai" />
<!--1.定义连接数据库的数据源DriverManagerDataSource:实际开发使用第三方连接池管理数据
源-->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mydb"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</bean>
<!--配置mybatis的SqlSessionFactory,自动获得核心对象的SqlSession对象-->
<bean id="factoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
<!--引用数据源-->
<property name="dataSource" ref="dataSource"/>
<!--加载mybatis的核心配置文件-->
<property name="configLocation" value="mybatis.xml"/>
<!--给实体类起别名-->
<property name="typeAliasesPackage" value="com.chai.bean"/>
</bean>
<!--配置mapper映射器,告诉mybatis要创建哪些接口的代理对象-->
<bean id="scannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.chai.dao"/>
</bean>
<aop:aspectj-autoproxy/>
</beans>
mybatis文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="logImpl" value="log4j"/>
</settings>
</configuration>
test测试类
package com.chai.test;
import com.chai.bean.Car;
import com.chai.service.CarService;
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.util.List;
public class CarTset {
CarService carService;
ClassPathXmlApplicationContext context=null;
@Before
public void intu(){
context=new ClassPathXmlApplicationContext("spring.xml");
carService=context.getBean(CarService.class);
}
//全查
@Test
public void selectAll(){
List<Car> carList=carService.findAll();
for (Car car : carList) {
System.out.println(car);
}
}
//新增
@Test
public void tianjia(){
Car car=new Car();
car.setCnumber("豫88888");
car.setType("黑车");
car.setOwner("柴七");
car.setPhone("88888888888");
car.setMark("黑卡");
carService.tianjia(car);
}
//删除
@Test
public void shanchu(){
carService.shanchu(2);
}
//单查
@Test
public void dancha(){
List<Car> carList=carService.dancha(1);
for (Car car : carList) {
System.out.println(car);
}
}
//修改
@Test
public void xiugai(){
Car car=new Car();
car.setCid(1);
car.setCnumber("豫78767");
car.setType("大巴");
car.setOwner("赵六");
car.setPhone("1785444577");
car.setMark("土卡");
carService.xiugai(car);
List<Car> carList=carService.dancha(1);
for (Car car1 : carList) {
System.out.println(car1);
}
}
}