Spring框架——JDBC方式搭建项目
来源:互联网 发布:ubuntu 搜狗五笔 编辑:程序博客网 时间:2024/05/17 22:34
学习Spring框架,使用JDBC的方式配置方式搭建一个项目,进行项目总结。
首先,采用MVC设计模式思想,搭建项目目录。
然后各个目录文件下面的相关源码附上:
controller目录:
import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.jredu.jdbc.dao.AccountDao;import com.jredu.jdbc.entity.Account;public class AccountAction { public static void main(String[] args) { ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext-jdbc.xml"); AccountDao dao = app.getBean(AccountDao.class); //System.out.println(dao.selectAll()); //插入/* Account account = new Account(); account.setUname("admin2"); account.setPwd("321"); System.out.println(dao.insert(account));*/ //更新修改 /*Account account = new Account(); account.setId(3); account.setUname("张三"); account.setPwd("abc"); System.out.println(dao.update(account));*/ //查询 //System.out.println(dao.selectAll()); //删除 //System.out.println(dao.delete(3)); //查询一条 System.out.println(dao.selectOne(2)); }}
dao层目录的源码:
import java.util.List;import com.jredu.jdbc.entity.Account;public interface AccountDao { //查询一条 Account selectOne(int id); //查询 List<Account> selectAll(); //添加 int insert(Account account); //删除 int delete(int id); //修改更新 int update(Account account);}
dao.impl目录下的源码:
package com.jredu.jdbc.dao.impl;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.jdbc.core.BeanPropertyRowMapper;import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.jdbc.core.RowMapper;import org.springframework.stereotype.Repository;import com.jredu.jdbc.dao.AccountDao;import com.jredu.jdbc.entity.Account;@Repositorypublic class AccountDaoImpl implements AccountDao{ //我们自己注入进来的 @Autowired private JdbcTemplate template; @Override public Account selectOne(int id) { // TODO Auto-generated method stub String sql = "select * from account where id=?"; RowMapper<Account> mapper = new BeanPropertyRowMapper<Account>(Account.class); return template.queryForObject(sql,mapper,id); } @Override public List<Account> selectAll() { // TODO Auto-generated method stub RowMapper<Account> mapper = new BeanPropertyRowMapper<Account>(Account.class); String sql = "select * from account"; return template.query(sql,mapper); } @Override public int insert(Account account) { // TODO Auto-generated method stub String sql = "insert into account values(account_sql.nextval,?,?)"; return template.update(sql, account.getUname(),account.getPwd()); } @Override public int delete(int id) { // TODO Auto-generated method stub String sql = "delete from account where id=?"; return template.update(sql,id); } @Override public int update(Account account) { // TODO Auto-generated method stub String sql = "update account set uname=?,pwd=? where id=?"; return template.update(sql,account.getUname(),account.getPwd(),account.getId()); }}
entity实体类目录源码:
package com.jredu.jdbc.entity;public class Account { private int id; private String uname; private String pwd; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUname() { return uname; } public void setUname(String uname) { this.uname = uname; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } @Override public String toString() { return "Account [id=" + id + ", uname=" + uname + ", pwd=" + pwd + ", getId()=" + getId() + ", getUname()=" + getUname() + ", getPwd()=" + getPwd() + ", getClass()=" + getClass() + ", hashCode()=" + hashCode() + ", toString()=" + super.toString() + "]"; }}
util目录下的源码:
package com.jredu.jdbc.util;import javax.sql.DataSource;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.jdbc.core.support.JdbcDaoSupport;public class BaseDao extends JdbcDaoSupport{ //该方法自动被调用 @Autowired public void setJdbcDataSource(DataSource datasource){ setDataSource(datasource); } //调用的是bean,自动设置 则AccountDaoImpl接口方法 不需要private JdbcTemplate template;}
然后,就要进行最重要的环节部分了,以下部分需要细致仔细的配置,否则很容易出错。
第一步,导入导入c3p0的jar包,导入jdbc驱动包。 将这两个包导入WebRoot目录下的WEB—INF目录里的lib文件夹里。
第二步,在applicationContext-jdbc.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:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:util="http://www.springframework.org/schema/util" 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/util http://www.springframework.org/schema/util/spring-util.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> <!-- 自动扫描 --> <context:component-scan base-package="com.jredu.jdbc"></context:component-scan> <!-- 配置C3P0数据源 --> <!-- 导入资源文件 --> <context:property-placeholder location="classpath:jdbc.properties"/> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" p:user="${jdbc.user}" p:password="${jdbc.pwd}" p:driverClass="${jdbc.driverClassName}" p:jdbcUrl="${jdbc.url}" p:initialPoolSize="${jdbc.initPoolSize}" p:maxPoolSize="${jdbc.maxPoolSize}" /> <!-- 配置JDBC Template --> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate" p:dataSource-ref="dataSource" /></beans>
第三步,配置jdbc-properties文件,由于我连接的Oracle,所以配置的是Oracle数据库。
jdbc.driverClassName=oracle.jdbc.driver.OracleDriverjdbc.url=jdbc\:oracle\:thin\:@localhost\:1521\:jredujdbc.user=OnlineTestjdbc.pwd=Jredu12345jdbc.initPoolSize=30jdbc.maxPoolSize=10jdbc.paper=A4jdbc.box=gray
至此,项目搭建完毕,搭建完后如果需要添加其他功能,补充其他功能添加即可运行。
阅读全文
0 0
- Spring框架——JDBC方式搭建项目
- Spring框架——事务管理方式搭建一个小的项目
- 20171019 JAVA Spring框架——事务管理方式搭建一个小的项目
- SSM框架项目搭建系列(四)— Spring之bean的XML注入方式
- spring框架搭建---servlet,jdbc
- 1、Spring MVC框架搭建——基于注解方式
- Spring框架笔记(二十四)——Spring中的JDBC的两种使用方式
- maven搭建spring mvc+spring jdbc项目
- Spring框架(一)环境搭建、配置(xml、注解)、整合JDBC以及项目详解
- Spring框架——JDBC与事务管理
- SSM框架——项目详细搭建(Spring+SpringMVC+MyBatis + oracle)
- SSM框架项目搭建系列(二)—Spring第一个HelloWorld
- SSM框架项目搭建系列(三)—Spring中的Bean生命周期
- SSM框架项目搭建系列(五)—Spring之Bean的注解注入
- SSM框架项目搭建系列(六)—Spring AOP之基于XML的声明式AspectJ
- SSM框架项目搭建系列(七)—Spring AOP之基于注解的声明式AspectJ
- Maven项目搭建Spring MVC框架
- Idea Maven项目搭建spring 框架
- 文章标题
- Jboss7和Struts2、Spring不兼容
- 第七周【项目4
- CodeVS 3657 区间DP 解题报告
- [python]time,datetime模块
- Spring框架——JDBC方式搭建项目
- git--从创建仓库到多个功能分支有效管理
- LaTex(PART III)命令环境和简单的数学公式、插图、表格
- MFC VS2013 启动摄像头
- 零基础装Ubuntu系统+Mysql+JDK+Tomcat+Eclipse
- 高并发后端设计之《限流》
- 运输层及其协议
- 安卓application生命周期的onCreate、onLowMemory、onTrimMemory、onConfigurationChanged
- LLC逻辑链路控制子层