三层架构

1.导入jar 包(mysql、spring、junit、druid、spirng-jdbc)

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-context</artifactId>

<version>5.3.4</version>

</dependency>

<!--mysql-->

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

<version>8.0.28</version>

</dependency>

<!--导入连接池-->

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>druid</artifactId>

<version>1.2.6</version>

</dependency>

<!--单元测试-->

<dependency>

<groupId>junit</groupId>

<artifactId>junit</artifactId>

<version>4.12</version>

<scope>test</scope>

</dependency>

<!--spring 对jdbc 的支持-->

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-jdbc</artifactId>

<version>5.3.4</version>

</dependency>

2. 创建项目结构(三层架构)

持久层:dao

业务逻辑层:service

控制层 controller

实体类: entity

表示层:

3.编写核心文件

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

 xmlns:context="http://www.springframework.org/schema/context"

 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

 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">

<!--spring 的  核心配置文件  管理  bean对象-->

<!--注解  +  配置文件的方式-->

<!--配置 注解扫描-->

<context:component-scan base-package="com.ynlg"/>

<!--加载 jdbc.properties-->

<context:property-placeholder location="classpath:jdbc.properties"/>

<!--配置数据源-->

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">

<property name="driverClassName" value="${jdbc.driver}"/>

<property name="url" value="${jdbc.url}"/>

<property name="username" value="${jdbc.username}"/>

<property name="password" value="${jdbc.password}"/>

</bean>

<!--jdbc模板-->

<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">

<!--注入数据源-->

<property name="dataSource" ref="dataSource"/>

</bean>

</beans>

4.编写接口

4.1编写dao层的接口,定义增删改查的方法

public interface BookDao {

 //添加

public  int addBook(Book book);

//修改

//删除

//查询

}

4.2编写service层的接口,定义增删改查的方法

public interface BookService {

 public boolean addBook(Book book);

//修改

//删除

//查询

}

 

5.编写接口的实现类

 

5.1编写dao层接口的实现类

 

 

 

//持久化层的注解,用于实例化bean

 

@Repository("bookDao")

 

public class BookDaoImpl implements BookDao{

 

//根据类型进行依赖注入

 

 @Autowired

 

private JdbcTemplate jdbcTemplate;

 

//添加数据的方法

 

 @Override

 

public int addBook(Book book) {

 

String sql = "insert into t00_book values(?,?,?,?,?)";

 

//注意:添加字段的顺序需要和数据库表中一致

 

int row = jdbcTemplate.update(sql, book.getBookId(), book.getBookName());

 

//返回受影响的行

 

return row;

 

 }

 

}

 

5.2编写service层接口的实现

 

@Service("bookService")

 

public class BookServiceImpl  implements BookService{

 

@Autowired

 

@Qualifier("bookDao")

 

private BookDao bookDao; //注入dao层的bean

 

@Override

 

public boolean addBook(Book book) {

 

return bookDao.addBook(book)>0;

 

 }

 

}

 

6.编写controller,调用service

 

@Controller("bookController")

 

public class BookController {

 

//注入service的对象

 

@Resource(name = "bookService")

 

private BookService bookService;

 

//添加

 

 public boolean add(Book book){

 

return  bookService.addBook(book);

 

 }

 

}

 

7.编写表示层,测试功能

 

 @Test

 

public void test3(){

 

//1.读取配置文件

 

 ApplicationContext app = new ClassPathXmlApplicationContext("app.xml");

 

BookController bookController = (BookController) app.getBean("bookController");

 

//        Book book = (Book) app.getBean("book");

 

 Book book  = new Book();

 

book.setBookId("1009");

 

 book.setBookName("《牡丹亭》");

 

boolean add = bookController.add(book);

 

    }

 

 

posted @ 2023-04-29 01:35  鸢鬏  阅读(34)  评论(0)    收藏  举报