三层架构
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);
}

浙公网安备 33010602011771号