`
koudailidexiaolong
  • 浏览: 95200 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

SpringMVC(四) 连接oracle数据库操作

阅读更多

首先看一下项目结构

SpringMVC(四) 连接oracle数据库操作 - 口袋里的小龙 - 口袋里的小龙
实体类

package com.dragon.entity;

public class UserInfo {
private int user_id;
private String user_name;
private String user_password;
public int getUser_id() {
return user_id;
}
public void setUser_id(int userId) {
user_id = userId;
}
public String getUser_name() {
return user_name;
}
public void setUser_name(String userName) {
user_name = userName;
}
public String getUser_password() {
return user_password;
}
public void setUser_password(String userPassword) {
user_password = userPassword;
}

}

Dao层

package com.dragon.dao;

import java.util.List;

import com.dragon.entity.UserInfo;

public interface UserInfoDao {
public abstract List<UserInfo> getAll();
public abstract int insertUserInfo(UserInfo userInfo);
}


实现层

package com.dragon.dao.impl;

import java.util.ArrayList;
import java.util.List;

import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
import org.springframework.jdbc.core.simple.ParameterizedBeanPropertyRowMapper;
import org.springframework.jdbc.core.simple.SimpleJdbcDaoSupport;

import com.dragon.dao.UserInfoDao;
import com.dragon.entity.UserInfo;

 

public class UserInfoDaoImpl extends SimpleJdbcDaoSupport implements
UserInfoDao {
/**
* 获得所有
*/
public List<UserInfo> getAll() {
// TODO Auto-generated method stub
List<UserInfo> userInfoList = new ArrayList<UserInfo>();
String sql = "select * from UserInfo";
userInfoList = super.getSimpleJdbcTemplate().query(sql,ParameterizedBeanPropertyRowMapper.newInstance(UserInfo.class));
return userInfoList;
}
/**
* 增加
*/
public int insertUserInfo(UserInfo userInfo) {
// TODO Auto-generated method stub
String sql="INSERT INTO UserInfo values(:user_id,:user_name,:user_password)";
//返回受影响的行数
int count = super.getSimpleJdbcTemplate().update(sql, new MapSqlParameterSource().addValue("user_id", userInfo.getUser_id()).addValue("user_name", userInfo.getUser_name()).addValue("user_password", userInfo.getUser_password()));
return count;
}

}


Controller类

package com.dragon.controller;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

import com.dragon.dao.UserInfoDao;
import com.dragon.entity.UserInfo;

/**

*查询所有

*/

public class UserInfoController extends AbstractController {

private UserInfoDao userInfoDao;

public UserInfoDao getUserInfoDao() {
return userInfoDao;
}

public void setUserInfoDao(UserInfoDao userInfoDao) {
this.userInfoDao = userInfoDao;
}
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest arg0,
HttpServletResponse arg1) throws Exception {
// TODO Auto-generated method stub
//定义用户集合
List<UserInfo> userInfoList = new ArrayList<UserInfo>();
//调用获得所有的方法
userInfoList = this.userInfoDao.getAll();
//创建集合
Map<String,Object> models = new HashMap<String, Object>();
//保存对象
models.put("userInfoList", userInfoList);
return new ModelAndView("index.jsp",models);
}

}

添加

package com.dragon.controller;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

import com.dragon.dao.UserInfoDao;
import com.dragon.entity.UserInfo;

public class AddUserInfoController extends AbstractController {
private UserInfoDao userInfoDao;

public UserInfoDao getUserInfoDao() {
return userInfoDao;
}

public void setUserInfoDao(UserInfoDao userInfoDao) {
this.userInfoDao = userInfoDao;
}
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request,
HttpServletResponse response) throws Exception {
// TODO Auto-generated method stub

UserInfo userInfo = new UserInfo();

//获得用户的输入
userInfo.setUser_id(Integer.valueOf(request.getParameter("user_id")));
userInfo.setUser_name(request.getParameter("user_name"));
userInfo.setUser_password(request.getParameter("user_password"));

System.out.println(userInfo.getUser_id());

int i = this.userInfoDao.insertUserInfo(userInfo);
System.out.println(i);
//定义用户集合
List<UserInfo> userInfoList = new ArrayList<UserInfo>();
//调用获得所有的方法
userInfoList = this.userInfoDao.getAll();
//创建集合
Map<String,Object> models = new HashMap<String, Object>();
//保存对象
models.put("userInfoList", userInfoList);
return new ModelAndView("index.jsp",models);
}

}


jdbc.properties配置文件

jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@localhost:1521:orcl
jdbc.username=system
jdbc.password=orcl


Web。xml中的配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
>


<!-- 配置spring mvc 支持-->
<servlet>
<servlet-name>springapp</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- 配置spring映射 -->
<servlet-mapping>
<servlet-name>springapp</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>

<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

springapp-servlet.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:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd" >


<bean id="userController" name="/userController.do" class="com.dragon.controller.UserInfoController">
<property name="userInfoDao" ref="userInfoDao"></property>
</bean>
<bean id="addUserInfoController" name="/add.do" class="com.dragon.controller.AddUserInfoController">
<property name="userInfoDao" ref="userInfoDao"></property>
</bean>
<!-- -->
<bean id="userInfoDao" class="com.dragon.dao.impl.UserInfoDaoImpl">
<property name="dataSource" ref="dataSource"></property>
</bean>

<!-- 配置事务管理器 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<!-- 加载文件的路径 -->
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:jdbc.properties</value>
</list>
</property>
</bean>
<!-- -->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>

<aop:config>

<aop:advisor pointcut="execution(* *com.dragon.dao.*(..))" advice-ref="txAdvice"/>
</aop:config>

<tx:advice id="txAdvice">
<tx:attributes>

<tx:method name="get*" read-only="true"></tx:method>
<tx:method name="insert*" propagation="REQUIRED"></tx:method>
<tx:method name="update*" propagation="REQUIRED"></tx:method>
<tx:method name="delete*" propagation="REQUIRED"></tx:method>

<tx:method name="*" read-only="true"/>
</tx:attributes>
</tx:advice>

</beans>


index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="j" uri="http://java.sun.com/jsp/jstl/core" %>

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>

<body>
<table>
<tr>
<td>编号</td>
<td>名称</td>
<td>密码</td>
<td>操作</td>
</tr>

<j:forEach var="userInfo" items="${userInfoList }" >
<tr>
<td> <j:out value="${userInfo.user_id}"></j:out> </td>
<td> <j:out value="${userInfo.user_name}"></j:out></td>
<td> <j:out value="${userInfo.user_password}"></j:out></td>
<td><a href="" >删除</a></td>
</tr>

</j:forEach>
<tr >
<td colspan="4"><a href="add.jsp">添加</a></td>
</tr>
</table>
</body>
</html>


add.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'add.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

</head>

<body>
<form action="add.do" method="post">
编号:<input type="text" value="" name="user_id"/><br/>
名称:<input type="text" value="" name="user_name"/><br/>
密码:<input type="text" value="" name="user_password"/><br/>
<input value="提交" type="submit" />
</form>
</body>
</html>


访问的路径
http://localhost:8080/SpringMVC_JDBC/userController.do

慢慢的理解 其实这些官方的文档中都是有的  这种方法不是太好 一个操作就需要创建一个controller 类
数据库脚本

CREATE TABLE UserInfo(
user_id NUMBER(5) PRIMARY KEY NOT NULL,
user_name NVARCHAR2(50) ,
user_password nvarchar2(50)
);
insert into UserInfo values(1,'1001','000000');
insert into UserInfo values(2,'1002','000000');
insert into UserInfo values(3,'1003','000000');
insert into UserInfo values(4,'1004','000000');
insert into UserInfo values(5,'1005','000000');
commit;


<wbr></wbr>

分享到:
评论

相关推荐

    SpringMVC+Oracle数据源demo项目完整代码

    SpringMVC作为Spring框架的一部分,主要用于处理HTTP请求和响应,而Oracle数据库则是一个功能强大的关系型数据库管理系统,常用于存储和管理大量结构化数据。这个"SpringMVC+Oracle数据源demo项目完整代码"是一个很...

    druid实现springmvc数据库连接的用户名和密码加密

    标题"druid实现springmvc数据库连接的用户名和密码加密"指出,我们要讨论的是如何在Spring MVC项目中利用Druid连接池进行更高级别的安全性配置,即对数据库连接的敏感信息进行加密。这通常涉及以下步骤: 1. **密码...

    基于注解的springMVC+hibernate+oracle包含数据库查询

    在SpringMVC和Hibernate的集成中,我们需要配置数据源,使用JDBC驱动连接Oracle数据库。`spring-context.xml`配置文件中通常会包含`&lt;bean&gt;`标签来定义DataSource,使用`ojdbc.jar`驱动,并通过`...

    oracle数据库 +springmvc框架 开发的增删改查小例子 包含数据库文件

    在本项目中,我们将使用SpringMVC的JdbcTemplate或NamedParameterJdbcTemplate来执行SQL语句,实现与Oracle数据库的连接和数据操作。这些模板类简化了数据库访问,降低了出错的可能性,并提供了事务管理的支持。 ...

    ssm框架连接oracle数据库

    为了实现SSM框架与Oracle数据库的连接,我们需要做以下工作: 1. 配置Oracle JDBC驱动:在项目的类路径下添加ojdbc驱动,然后在Spring的配置文件中定义数据源,设置JDBC连接的相关属性。 2. 配置MyBatis:创建...

    SpringMvc+JdbcTemplate+oracle的小项目实例

    在本项目实例中,我们探讨的是如何利用SpringMVC、JdbcTemplate和Oracle数据库来构建一个小型的Java应用程序,主要涉及用户注册与登录的功能。这个项目对于初学者来说是一个很好的实践平台,因为它涵盖了Web开发中的...

    springMVC-Hibernate-Oracle-master.zip

    在Java开发中,Oracle数据库通常通过JDBC(Java Database Connectivity)接口进行连接和操作。 这个压缩包内的项目可能包含以下文件和目录: 1. **pom.xml** - Maven的配置文件,定义了项目的依赖,包括Spring MVC...

    springMVC+MyBatis+Oracle+Web实现增删改查完整案例+数据库数据)

    这是一个基于SpringMVC、MyBatis和Oracle数据库的Web应用实战案例,涵盖了基本的CRUD(创建、读取、更新、删除)操作。这个项目旨在帮助开发者了解如何整合这三个技术来构建一个完整的后端系统,并与前端进行交互。...

    springmvc多数据源连接

    在企业级应用开发中,有时我们需要连接到多个不同的数据库,比如主库和从...以上就是在Spring MVC项目中实现Oracle数据库多数据源连接的方法,这使得我们可以灵活地管理和切换不同数据库,以满足复杂的企业级应用需求。

    springmvc+oracle实现用户登录和用户管理

    - 连接Oracle数据库时,需要配置JDBC连接池,如C3P0或Druid,并设置数据库URL、用户名和密码。 3. **用户登录实现**: - 用户登录通常涉及到用户名和密码的验证。在SpringMVC中,可以通过`@RequestBody`注解获取...

    springmvc+Oracle实现增删改查

    为了连接Oracle数据库,我们需要在Spring MVC项目中配置数据源(DataSource)。这通常通过Spring的JDBC抽象层来完成,它可以简化数据库操作并提供事务管理。配置文件(如applicationContext.xml或application....

    mybatis+spring+springmvc+oracle

    在项目中,"只需修改一下application中数据源的配置"指的是在Spring的配置文件中,需要指定连接Oracle数据库的相关参数,如URL、用户名、密码和驱动类名。Spring的`DataSource` bean通常用于管理数据库连接,如使用...

    SSM+ORACLE+SpringMvc+Maven

    在SSM项目中,Oracle作为数据存储,通过JDBC或MyBatis进行连接和操作。 5. **Maven**:Maven是一个项目管理和综合工具,负责构建、依赖管理和项目信息管理。它通过POM(Project Object Model)文件来定义项目依赖...

    maven spring springmvc mybatis bootstrap oracle 整合项目

    5. **连接Oracle数据库**:配置数据源,编写JDBC连接信息,测试连接。 6. **使用Bootstrap**:在视图层引入Bootstrap样式,设计响应式布局。 7. **实现业务逻辑**:在Service层编写业务方法,调用DAO层操作数据库。 ...

    Spring+SpringMVC+MyBatis+oracle (简单)增删改查

    在这个项目中,我们将深入探讨如何使用这些技术与Oracle数据库配合进行简单的增删改查操作。 首先,让我们了解SSM框架的各个组成部分: 1. **Spring**:这是一个全面的Java应用开发框架,提供了依赖注入(DI)和...

    SSM框架——项目详细搭建(Spring+SpringMVC+MyBatis + oracle)

    同时,配置DataSource,连接Oracle数据库。 4. **配置SpringMVC**:创建`web.xml`,配置DispatcherServlet,加载SpringMVC的配置文件,如`servlet-context.xml`。配置视图解析器(如InternalResourceViewResolver)...

    SpringMVC+mybatis+oracle

    在项目中,需要配置Oracle的JDBC驱动,设置数据源,然后在MyBatis的配置中指定数据源,以连接Oracle数据库。 为了使SpringMVC运行起来,我们需要最小化依赖集。这通常包括SpringMVC的核心库,如spring-webmvc、...

Global site tag (gtag.js) - Google Analytics