Spring

Posted 倾城月光﹋淡如水

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring相关的知识,希望对你有一定的参考价值。

Spring JDBC

1.需要的实体类和数据库

 

2.需要的dao

 1 package com.xdf.dao;
 2 
 3 import com.xdf.bean.Student;
 4 import org.springframework.jdbc.core.RowMapper;
 5 import org.springframework.jdbc.core.support.JdbcDaoSupport;
 6 
 7 import java.io.Serializable;
 8 import java.sql.ResultSet;
 9 import java.sql.SQLException;
10 import java.util.List;
11 
12 /**
13  * dao的实现类
14  * 书写sql
15  * JdbcDaoSupport====>BaseDao
16  * JdbcDaoSupport有两个重要的属性
17  * 01.jdbcTemplate    模版
18  * 02.需要 dataSource  ===>数据源
19  *
20  * JdbcDaoSupport  所有的增删改 都是update
21  *                            查询是query
22  *
23  */
24 public class StudentDaoImpl extends JdbcDaoSupport implements StudentDao {
25 
26        public int add(Student student) {
27         String sql="insert into student values(?,?)";
28         return getJdbcTemplate().update(sql,student.getsId(),student.getsName());
29       }
30 
31     public int del(Serializable id) {
32            String sql="delete from student where sid=?";
33         return getJdbcTemplate().update(sql,id);
34     }
35 
36     public int update(Student student) {
37            String sql="update student set sname=?  where sid=?";
38         return getJdbcTemplate().update(sql,student.getsName(),student.getsId());
39     }
40 
41     public List<Student> getAll() {
42            String sql="select * from student";
43            //使用匿名内部类
44         return getJdbcTemplate().query(sql,new RowMapper<Student>(){
45                 /**
46                  * 这里的ResultSet是返回一个对象!
47                  * 我们之前使用的是 一个结果集!
48                  */
49                 public Student mapRow(ResultSet rs, int rowNum) throws SQLException {
50                     //创建student对象  依次返回
51                     Student student=new Student();
52                     student.setsId(rs.getInt("sid"));
53                     student.setsName(rs.getString("sname"));
54                     return student;
55                 }
56         });
57     }
58 }

 

3.需要的service

 1 package com.xdf.service;
 2 
 3 import com.xdf.bean.Student;
 4 import com.xdf.dao.StudentDao;
 5 
 6 import java.io.Serializable;
 7 import java.util.List;
 8 
 9 public class StudentServiceImpl implements   StudentService {
10 
11     //交给spring容器实例化dao层对象
12     private StudentDao dao;
13 
14     public StudentDao getDao() {
15         return dao;
16     }
17 
18     public void setDao(StudentDao dao) {
19         this.dao = dao;
20     }
21 
22     public int add(Student student) {
23         return dao.add(student);
24     }
25 
26     public int del(Serializable id) {
27         return dao.del(id);
28     }
29 
30     public int update(Student student) {
31         return dao.update(student);
32     }
33 
34     public List<Student> getAll() {
35         return dao.getAll();
36     }
37 }

 

4.需要的jdbc.properties

 

5.需要的核心配置文件

 

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4        xmlns:context="http://www.springframework.org/schema/context"
 5        xmlns:aop="http://www.springframework.org/schema/aop"
 6        xmlns:tx="http://www.springframework.org/schema/tx"
 7        xmlns:p="http://www.springframework.org/schema/p"
 8        xmlns:c="http://www.springframework.org/schema/c"
 9        xsi:schemaLocation="
10         http://www.springframework.org/schema/beans
11         http://www.springframework.org/schema/beans/spring-beans.xsd
12         http://www.springframework.org/schema/context
13         http://www.springframework.org/schema/context/spring-context.xsd
14         http://www.springframework.org/schema/tx
15         http://www.springframework.org/schema/tx/spring-tx.xsd
16         http://www.springframework.org/schema/aop
17         http://www.springframework.org/schema/aop/spring-aop.xsd">
18     <!--引入需要的jdbc.properties文件-->
19     <context:property-placeholder location="classpath:jdbc.properties"/>
20 
21     <!--01.使用spring自带的数据源
22     <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
23          <property name="driverClassName" value="${jdbc.driverClassName}"/>
24          <property name="url" value="${jdbc.url}"/>
25          <property name="username" value="${jdbc.userName}"/>
26          <property name="password" value="${jdbc.password}"/>
27     </bean>-->
28 
29     <!--02.使用c3p0自带的数据源
30     <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
31          <property name="driverClass" value="${jdbc.driverClassName}"/>
32          <property name="jdbcUrl" value="${jdbc.url}"/>
33          <property name="user" value="${jdbc.userName}"/>
34          <property name="password" value="${jdbc.password}"/>
35     </bean>-->
36 
37 
38     <!--03.使用dbcp自带的数据源-->
39     <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
40          <property name="driverClassName" value="${jdbc.driverClassName}"/>
41          <property name="url" value="${jdbc.url}"/>
42          <property name="username" value="${jdbc.userName}"/>
43          <property name="password" value="${jdbc.password}"/>
44     </bean>
45     <!--配置dao层对象-->
46     <bean  id="studentDao" class="com.xdf.dao.StudentDaoImpl">
47         <property name="dataSource" ref="dataSource"/>
48     </bean>
49 
50     <!-- 配置service层对象-->
51      <bean  id="studentService" class="com.xdf.service.StudentServiceImpl">
52          <property name="dao" ref="studentDao"/>
53      </bean>
54 </beans>

 

6.测试类

 

 

    未完待续!!!

 

以上是关于Spring的主要内容,如果未能解决你的问题,请参考以下文章

Spring boot:thymeleaf 没有正确渲染片段

What's the difference between @Component, @Repository & @Service annotations in Spring?(代码片段

spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象(代码片段

Spring Rest 文档。片段生成时 UTF-8 中间字节无效 [重复]

解决spring-boot启动中碰到的问题:Cannot determine embedded database driver class for database type NONE(转)(代码片段

一张图帮你记忆,Spring Boot 应用在启动阶段执行代码的几种方式