原创链接:http://www.cnblogs.com/yanqin/p/5284400.html (允许转载,但请注明原创链接)

1.在myeclipse中建立一个web项目

项目名 :spring01

我建立的项目配置是 j2ee6、java版本1.7,让他自动生成web.xml。

我的mysql数据库里已经有 一个名叫spring的库了和tz_user表。

2.引入jar包

spring jar包如下:

  1. spring-aop-4.1.5.RELEASE.jar
  2. spring-beans-4.1.5.RELEASE.jar
  3. spring-context-4.1.5.RELEASE.jar
  4. spring-context-support-4.1.5.RELEASE.jar
  5. spring-core-4.1.5.RELEASE.jar
  6. spring-expression-4.1.5.RELEASE.jar
  7. spring-jdbc-4.1.5.RELEASE.jar
  8. spring-test-4.1.5.RELEASE.jar
  9. spring-tx-4.1.5.RELEASE.jar
  10. spring-web-4.1.5.RELEASE.jar
  11. spring-webmvc-4.1.5.RELEASE.jar

其他 jar:

  1. commons-collections-3.1.jar
  2. commons-dbcp-1.2.1.jar
  3. commons-lang3-3.1.jar
  4. commons-logging-1.1.3.jar
  5. commons-pool-1.2.jar
  6. mysql-connector-java-5.1.6-bin.jar

引入log4j配置文件

3.配置web.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xmlns="http://java.sun.com/xml/ns/javaee"
  4. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  5. id="WebApp_ID" version="3.0">
  6. <display-name>spring01</display-name>
  7.  
  8. <context-param>
  9. <param-name>contextConfigLocation</param-name>
  10. <param-value>classpath:applicationContext.xml</param-value>
  11. </context-param>
  12.  
  13. <listener>
  14. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  15. </listener>
  16.  
  17. <welcome-file-list>
  18. <welcome-file>index.html</welcome-file>
  19. <welcome-file>index.htm</welcome-file>
  20. <welcome-file>index.jsp</welcome-file>
  21. </welcome-file-list>
  22. </web-app>

4.创建applicationContext.xml文件

  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:p="http://www.springframework.org/schema/p"
  6. xsi:schemaLocation="http://www.springframework.org/schema/beans
  7. http://www.springframework.org/schema/beans/spring-beans.xsd
  8. http://www.springframework.org/schema/context
  9. http://www.springframework.org/schema/context/spring-context-4.0.xsd
  10. ">
  11. <!-- 配置spring去扫描包下的文件 -->
  12. <context:component-scan base-package="com.yq.dao"></context:component-scan>
  13. <context:component-scan base-package="com.yq.service"></context:component-scan>
  14.  
  15. <!-- 配置数据源 -->
  16. <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
  17. <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
  18. <property name="url" value="jdbc:mysql://localhost:3306/spring?useUnicode=true&amp;characterEncoding=utf-8"></property>
  19. <property name="username" value="root"></property>
  20. <property name="password" value="root"></property>
  21. </bean>
  22.  
  23. <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
  24. <property name="dataSource" ref="dataSource"></property>
  25. </bean>
  26. </beans>

5.创建model dao层

  1. package com.yq.model;
  2.  
  3. /**
  4. *
  5. *
  6. * User
  7. * 创建人:yq
  8. * 时间:2016年3月16日-下午4:18:13
  9. * @version 1.0.0
  10. *
  11. */
  12. public class User implements java.io.Serializable {
  13.  
  14. private static final long serialVersionUID = 1L;
  15.  
  16. // id
  17. private Integer id;
  18. // 用户名
  19. private String username;
  20. // 密码
  21. private String password;
  22. // 年龄
  23. private Integer age;
  24. // 地址
  25. private String address;
  26. // 邮箱
  27. private String email;
  28.  
  29. public Integer getId() {
  30. return id;
  31. }
  32.  
  33. public void setId(Integer id) {
  34. this.id = id;
  35. }
  36.  
  37. public String getUsername() {
  38. return username;
  39. }
  40.  
  41. public void setUsername(String username) {
  42. this.username = username;
  43. }
  44.  
  45. public String getPassword() {
  46. return password;
  47. }
  48.  
  49. public void setPassword(String password) {
  50. this.password = password;
  51. }
  52.  
  53. public Integer getAge() {
  54. return age;
  55. }
  56.  
  57. public void setAge(Integer age) {
  58. this.age = age;
  59. }
  60.  
  61. public String getAddress() {
  62. return address;
  63. }
  64.  
  65. public void setAddress(String address) {
  66. this.address = address;
  67. }
  68.  
  69. public String getEmail() {
  70. return email;
  71. }
  72.  
  73. public void setEmail(String email) {
  74. this.email = email;
  75. }
  76.  
  77. }
  1. package com.yq.dao;
  2.  
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.jdbc.core.JdbcTemplate;
  5. import org.springframework.stereotype.Repository;
  6.  
  7. import com.yq.model.User;
  8.  
  9. /**
  10. *
  11. *
  12. * UserDao
  13. * 创建人:yq
  14. * @version 1.0.0
  15. *
  16. */
  17. @Repository
  18. public class UserDao {
  19.  
  20. @Autowired
  21. private JdbcTemplate jdbcTemplate;
  22.  
  23. /**
  24. *
  25. * 保存
  26. * com.yq.dao
  27. * 方法名:saveUser
  28. * 创建人:yq
  29. * @param user
  30. * @return boolean
  31. * @exception
  32. * @since 1.0.0
  33. */
  34. public boolean saveUser(User user) {
  35. String sql = "insert into tz_user(username,password,age,address,email) VALUES(?,?,?,?,?)";
  36. int count = jdbcTemplate.update(sql, user.getUsername(),
  37. user.getPassword(), user.getAge(), user.getAddress(),
  38. user.getEmail());
  39. return count>0?true:false;
  40. }
  41. }

6.在web.xml配置下

在listener下面添加

  1. <servlet>
  2. <servlet-name>spring</servlet-name>
  3. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  4. <init-param>
  5. <param-name>namespace</param-name>
  6. <param-value>spring</param-value>
  7. </init-param>
  8. <load-on-startup>2</load-on-startup>
  9. </servlet>
  10. <servlet-mapping>
  11. <servlet-name>spring</servlet-name>
  12. <url-pattern>*.html</url-pattern>
  13. </servlet-mapping>

7.web-inf下创建spring.xml

  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:p="http://www.springframework.org/schema/p"
  6. xsi:schemaLocation="http://www.springframework.org/schema/beans
  7. http://www.springframework.org/schema/beans/spring-beans.xsd
  8. http://www.springframework.org/schema/context
  9. http://www.springframework.org/schema/context/spring-context-4.0.xsd
  10. ">
  11.  
  12. <context:component-scan base-package="com.yq.web"></context:component-scan>
  13.  
  14. <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  15. <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
  16. <property name="prefix" value="/WEB-INF/pages/"></property>
  17. <property name="suffix" value=".jsp"></property>
  18. </bean>
  19.  
  20. </beans>

  

8.web-inf下创建pages文件夹和jsp页面

addUser.jsp

  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2. <!DOCTYPE HTML>
  3. <html>
  4. <head>
  5.  
  6. </head>
  7.  
  8. <body>
  9. <form action="user/save.html" method="post">
  10. <div>用户名<input name="username"></div>
  11. <div>密码<input name="password"></div>
  12. <div>年龄<input name="age"></div>
  13. <div>地址<input name="address"></div>
  14. <div>邮箱<input name="email"></div>
  15. <div><input type="submit" vlaue="添加"></div>
  16. </form>
  17. </body>
  18. </html>

  

success.jsp

  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2. <!DOCTYPE HTML>
  3. <html>
  4. <head>
  5. </head>
  6. <body>
  7. success
  8. </body>
  9. </html>

fail.jsp

  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2. <!DOCTYPE HTML>
  3. <html>
  4. <head>
  5. </head>
  6. <body>
  7. fail
  8. </body>
  9. </html>

9.web包下创建controller

  1. package com.yq.web;
  2.  
  3. import javax.servlet.http.HttpServlet;
  4. import javax.servlet.http.HttpServletRequest;
  5.  
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.stereotype.Controller;
  8. import org.springframework.web.bind.annotation.RequestMapping;
  9. import org.springframework.web.servlet.ModelAndView;
  10.  
  11. import com.yq.model.User;
  12. import com.yq.service.UserService;
  13.  
  14. /**
  15. *
  16. *
  17. * UserController
  18. * 创建人:yq
  19. * @version 1.0.0
  20. *
  21. */
  22. @Controller
  23. public class UserController extends HttpServlet {
  24.  
  25. @Autowired
  26. private UserService userService;
  27.  
  28. @RequestMapping("/user")
  29. public ModelAndView user(){
  30. ModelAndView mav = new ModelAndView();
  31. mav.setViewName("user");
  32. return mav;
  33. }
  34.  
  35. @RequestMapping("/user/save")
  36. public ModelAndView userSave(HttpServletRequest req){
  37. ModelAndView mav = new ModelAndView();
  38. /*
  39. * 获取前台传来的数据并封装到对象中
  40. */
  41. User user = new User();
  42. user.setUsername(req.getParameter("username"));
  43. user.setPassword(req.getParameter("password"));
  44. user.setAge(Integer.parseInt(req.getParameter("age")));
  45. user.setAddress(req.getParameter("address"));
  46. user.setEmail(req.getParameter("email"));
  47.  
  48. /*
  49. * 调用service
  50. */
  51. boolean flag = userService.saveUser(user);
  52. if(flag){
  53. mav.setViewName("success");
  54. }else{
  55. mav.setViewName("fail");
  56. }
  57. return mav;
  58. }
  59. }

10.测试

打开  localhost/spring/adduser.html ,并填入信息  (我的tomcat将端口设置成了80了,所以我的链接不需要加端口号)

点击提交后,跳转success页面,显示success

然后查看数据库,显示数据已经添加进去了。

现在一个简单的spring框架已经搭建完成,并且而且向数据库添加数据了。

搭建Spring框架,实现添加数据到数据库的更多相关文章

  1. ThinkPHP 添加数据到数据库失败

    ThinkPHP 添加数据到数据库失败 一般情况下会先检查一下几个方面 检查控制器或Model名是否有误 检查需要插入的数据是否为空或者缺失参数 检查数据表名及字段名称(大部分下都是字段名有误出错的) ...

  2. 框架:Intellij搭建Spring框架

    第二章.Intellij搭建Spring框架 前提条件:jdk.jre已经安装完成 方法一.intellij下载jar 附:自带的jar的版本为4.3[2018/11/22] 第一步:选择File&g ...

  3. Spring框架学习之--搭建spring框架

    此文介绍搭建一个最最简单的spring框架的步骤 一.创建一个maven项目 二.在pom.xml文件中添加依赖导入spring框架运行需要的相关jar包 注意:在引入jar包之后会出现org.jun ...

  4. IDEA搭建Spring框架环境

      一.spring 框架概念 spring 是众多开源 java 项目中的一员,基于分层的 javaEE 应用一站式轻量 级开源框架,主要核心是 Ioc(控制反转/依赖注入) 与 Aop(面向切面) ...

  5. Spring Boot快速搭建Spring框架

    Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development a ...

  6. laravel7 ajax H-ui框架添加数据至数据库

    1:定义路由: //租房 Route::resource('house','fang\FangattrController'); 2:控制器访问前端框架: public function create ...

  7. CI 框架批量添加数据(如果数据库有就更新数据)

    model: public function insert_select($values) { $sql = 'INSERT INTO ' . $this->_table_name . '(ar ...

  8. angular js 页面添加数据保存数据库

    一.编写实体类Controller层返回数据使用 package entity; import java.io.Serializable; public class Result implements ...

  9. 微信小程序云函数 添加数据到数据库

    1.新建小程序,建立云开发快速启动模板 这里和普通小程序的区别有三点 一是 project.config.json写上云函数所在目录"cloudfunctionRoot": &qu ...

随机推荐

  1. GraphSAGE 代码解析(四) - models.py

    原创文章-转载请注明出处哦.其他部分内容参见以下链接- GraphSAGE 代码解析(一) - unsupervised_train.py GraphSAGE 代码解析(二) - layers.py ...

  2. Linux pthread 线程池实现

    基于pthread封装了一个简易的ThreadPool,具有以下特性: 1.具有优先级的任务队列 2.线程池大小可以二次调整,增加线程或者删除空闲线程 3.任务两种重写方式,重写run或者使用函数回调 ...

  3. 数据结构11——KMP

    一.博客导航 KMP算法 扩展KMP算法

  4. [译]如何撤销git仓库里的所有修改?

    原文来源:https://stackoverflow.com/questions/29007821/git-checkout-all-the-files 问: 如何撤销我在我git仓库所做的所有修改? ...

  5. Packet filtering with Linux & NAT

    http://www.linuxfocus.org/ChineseGB/May2003/article289.shtml Gateway, Proxy-Arp 和 Ethernet Bridge ? ...

  6. linux网络编程中需要注意的信号SIGPIPE

    在调试cs时,s端循环收,c端循环发,s端意外崩溃后,c端自动退出,终端提示SIGPIPE导致c端退出.man 7 signal: SIGPIPE Term Broken pipe: write to ...

  7. powerdesigner 外键生成sql语句设置在创建表里面

    根据情况需要将创建外键表的sql语句生成在创建表的sql语句中,如下设置:

  8. P3457 [POI2007]POW-The Flood

    题意翻译 Description 你手头有一张该市的地图.这张地图是边长为 m∗n 的矩形,被划分为m∗n个1∗1的小正方形.对于每个小正方形,地图上已经标注了它的海拔高度以及它是否是该市的一个组成部 ...

  9. [洛谷P1361]小M的作物

    题目大意:将作物种在A,B两地,对于每种作物,种A,B分别有不同的收益,对于一些特殊的作物集合,共同种到A,B集合分别有一些额外收益.求最大收益. 题解:最小割,S向i连容量为$a_i$的边,i向T连 ...

  10. Linux和Windows上实现的异同-Linux的自适应ACK

    上周有同事问,延迟ACK到底对应用层会产生什么后果,我也不知道该如何作答,于是丢了一个链接: TCP之Delay ACK在Linux和Windows上实现的异同-Linux的自适应ACK: 是的,这是 ...