Spring学习5--spring+JDBCTemplate

来源:互联网 发布:石家庄网络机柜 编辑:程序博客网 时间:2024/06/01 10:40

基于spring框架的JDBC技术


1。导入spring相关jar包,和applicationContext.xml文件

2.配置applicationContext.xml文件

    <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">        <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>        <property name="url" value="jdbc:mysql://localhost:3306/test"></property>        <property name="username" value="root"></property>        <property name="password" value="1234"></property>    </bean>    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">        <property name="dataSource" ref="myDataSource"></property>    </bean>    <!-- 自动扫描 -->    <context:component-scan base-package="com.test"></context:component-scan>

3.创建实体类和UserMapper映射类

**Mapper映射类如下

public class EmpMapper implements RowMapper<Emp>{    @Override    public Emp mapRow(ResultSet rs, int rowIndex) throws SQLException {        Emp emp = new Emp();        emp.setDept(rs.getInt("dept"));        emp.setDname(rs.getString("dname"));        emp.setLoc(rs.getString("loc"));        return emp;    }}

4.创建Dao接口和Dao的实体类

接口:

public interface EmpDao {    public List<Emp> findAll();}

JDBC实体类:

@Repositorypublic class JdbcEmpDao implements EmpDao{    private JdbcTemplate template;    @Autowired    public void setTemplate(JdbcTemplate template) {        this.template = template;    }    @Override    //增    public void addUser(User user) {15         String sql = "insert into user values(?,?,?)";16         this.getJdbcTemplate().update(sql, user.getId(), user.getUsername(),17                 user.getPassword());18     }19 //删20     public void deleteUser(int id) {21         String sql = "delete from user where id=?";22         this.getJdbcTemplate().update(sql, id);23 24     }25 //改26     public void updateUser(User user) {27         String sql = "update user set username=?,password=? where id=?";28         this.getJdbcTemplate().update(sql, user.getUsername(),29                 user.getPassword(), user.getId());30     }31 32     public String searchUserName(int id) {// 简单查询,按照ID查询,返回字符串33         String sql = "select username from user where id=?";34         // 返回类型为String(String.class)35         return this.getJdbcTemplate().queryForObject(sql, String.class, id);36 37     }39     public List<User> findAll() {// 复杂查询返回List集合40         String sql = "select * from user";41         return this.getJdbcTemplate().query(sql, new UserRowMapper());42 43     }}

上面四个步骤以后,就可以链接数据库,并从中读取内容了。


5.创建Controller类

@Controllerpublic class EmpListController {    private EmpDao empDao;    @Autowired    public void setEmpDao(EmpDao empDao){        this.empDao = empDao;    }    @RequestMapping("/emp/list")    public String execute(Model model){        List<Emp> list = empDao.findAll();        model.addAttribute("emps", list);        return "emp_list";    }}

6.修改web.xml

    <servlet>        <servlet-name>SpringMVC</servlet-name>        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>        <init-param>            <param-name>contextConfigLocation</param-name>            <param-value>classpath:applicationContext.xml</param-value>        </init-param>    </servlet>    <servlet-mapping>        <servlet-name>SpringMVC</servlet-name>        <url-pattern>*.do</url-pattern>    </servlet-mapping>

7.修改applicationContext.xml

    <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">        <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>        <property name="url" value="jdbc:mysql://localhost:3306/test"></property>        <property name="username" value="root"></property>        <property name="password" value="1234"></property>    </bean>    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">        <property name="dataSource" ref="myDataSource"></property>    </bean>    <context:component-scan base-package="com.test" />    <!-- 添加以下内容 -->    <mvc:annotation-driven />    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">        <property name="prefix" value="/WEB-INF/jsp/"></property>        <property name="suffix" value=".jsp"></property>    </bean>

8.编写请求后的显示jsp显示页面

    <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>    ...    <body>        <table border="1">            <c:forEach items="${emps}" var="emp">            <tr>                <td>${emp.dept }</td>                <td>${emp.dname }</td>                <td>${emp.loc }</td>            </tr>            </c:forEach>        </table>    </body>

9.整体结构目录如下

这里写图片描述


以上,就是Spring Web +JDBC的一整套流程。

0 0
原创粉丝点击