搭建Spring框架,实现添加数据到数据库
原创链接: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包如下:
- spring-aop-4.1.5.RELEASE.jar
- spring-beans-4.1.5.RELEASE.jar
- spring-context-4.1.5.RELEASE.jar
- spring-context-support-4.1.5.RELEASE.jar
- spring-core-4.1.5.RELEASE.jar
- spring-expression-4.1.5.RELEASE.jar
- spring-jdbc-4.1.5.RELEASE.jar
- spring-test-4.1.5.RELEASE.jar
- spring-tx-4.1.5.RELEASE.jar
- spring-web-4.1.5.RELEASE.jar
- spring-webmvc-4.1.5.RELEASE.jar
其他 jar:
- commons-collections-3.1.jar
- commons-dbcp-1.2.1.jar
- commons-lang3-3.1.jar
- commons-logging-1.1.3.jar
- commons-pool-1.2.jar
- mysql-connector-java-5.1.6-bin.jar
引入log4j配置文件
3.配置web.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="http://java.sun.com/xml/ns/javaee"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
- id="WebApp_ID" version="3.0">
- <display-name>spring01</display-name>
- <context-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>classpath:applicationContext.xml</param-value>
- </context-param>
- <listener>
- <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
- </listener>
- <welcome-file-list>
- <welcome-file>index.html</welcome-file>
- <welcome-file>index.htm</welcome-file>
- <welcome-file>index.jsp</welcome-file>
- </welcome-file-list>
- </web-app>
4.创建applicationContext.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:context="http://www.springframework.org/schema/context"
- xmlns:p="http://www.springframework.org/schema/p"
- 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-4.0.xsd
- ">
- <!-- 配置spring去扫描包下的文件 -->
- <context:component-scan base-package="com.yq.dao"></context:component-scan>
- <context:component-scan base-package="com.yq.service"></context:component-scan>
- <!-- 配置数据源 -->
- <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
- <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
- <property name="url" value="jdbc:mysql://localhost:3306/spring?useUnicode=true&characterEncoding=utf-8"></property>
- <property name="username" value="root"></property>
- <property name="password" value="root"></property>
- </bean>
- <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
- <property name="dataSource" ref="dataSource"></property>
- </bean>
- </beans>
5.创建model dao层
- package com.yq.model;
- /**
- *
- *
- * User
- * 创建人:yq
- * 时间:2016年3月16日-下午4:18:13
- * @version 1.0.0
- *
- */
- public class User implements java.io.Serializable {
- private static final long serialVersionUID = 1L;
- // id
- private Integer id;
- // 用户名
- private String username;
- // 密码
- private String password;
- // 年龄
- private Integer age;
- // 地址
- private String address;
- // 邮箱
- private String email;
- public Integer getId() {
- return id;
- }
- public void setId(Integer id) {
- this.id = id;
- }
- public String getUsername() {
- return username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- public Integer getAge() {
- return age;
- }
- public void setAge(Integer age) {
- this.age = age;
- }
- public String getAddress() {
- return address;
- }
- public void setAddress(String address) {
- this.address = address;
- }
- public String getEmail() {
- return email;
- }
- public void setEmail(String email) {
- this.email = email;
- }
- }
- package com.yq.dao;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.jdbc.core.JdbcTemplate;
- import org.springframework.stereotype.Repository;
- import com.yq.model.User;
- /**
- *
- *
- * UserDao
- * 创建人:yq
- * @version 1.0.0
- *
- */
- @Repository
- public class UserDao {
- @Autowired
- private JdbcTemplate jdbcTemplate;
- /**
- *
- * 保存
- * com.yq.dao
- * 方法名:saveUser
- * 创建人:yq
- * @param user
- * @return boolean
- * @exception
- * @since 1.0.0
- */
- public boolean saveUser(User user) {
- String sql = "insert into tz_user(username,password,age,address,email) VALUES(?,?,?,?,?)";
- int count = jdbcTemplate.update(sql, user.getUsername(),
- user.getPassword(), user.getAge(), user.getAddress(),
- user.getEmail());
- return count>0?true:false;
- }
- }
6.在web.xml配置下
在listener下面添加
- <servlet>
- <servlet-name>spring</servlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
- <init-param>
- <param-name>namespace</param-name>
- <param-value>spring</param-value>
- </init-param>
- <load-on-startup>2</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>spring</servlet-name>
- <url-pattern>*.html</url-pattern>
- </servlet-mapping>
7.web-inf下创建spring.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:context="http://www.springframework.org/schema/context"
- xmlns:p="http://www.springframework.org/schema/p"
- 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-4.0.xsd
- ">
- <context:component-scan base-package="com.yq.web"></context:component-scan>
- <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
- <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
- <property name="prefix" value="/WEB-INF/pages/"></property>
- <property name="suffix" value=".jsp"></property>
- </bean>
- </beans>
8.web-inf下创建pages文件夹和jsp页面
addUser.jsp
- <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
- <!DOCTYPE HTML>
- <html>
- <head>
- </head>
- <body>
- <form action="user/save.html" method="post">
- <div>用户名<input name="username"></div>
- <div>密码<input name="password"></div>
- <div>年龄<input name="age"></div>
- <div>地址<input name="address"></div>
- <div>邮箱<input name="email"></div>
- <div><input type="submit" vlaue="添加"></div>
- </form>
- </body>
- </html>
success.jsp
- <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
- <!DOCTYPE HTML>
- <html>
- <head>
- </head>
- <body>
- success
- </body>
- </html>
fail.jsp
- <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
- <!DOCTYPE HTML>
- <html>
- <head>
- </head>
- <body>
- fail
- </body>
- </html>
9.web包下创建controller
- package com.yq.web;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.servlet.ModelAndView;
- import com.yq.model.User;
- import com.yq.service.UserService;
- /**
- *
- *
- * UserController
- * 创建人:yq
- * @version 1.0.0
- *
- */
- @Controller
- public class UserController extends HttpServlet {
- @Autowired
- private UserService userService;
- @RequestMapping("/user")
- public ModelAndView user(){
- ModelAndView mav = new ModelAndView();
- mav.setViewName("user");
- return mav;
- }
- @RequestMapping("/user/save")
- public ModelAndView userSave(HttpServletRequest req){
- ModelAndView mav = new ModelAndView();
- /*
- * 获取前台传来的数据并封装到对象中
- */
- User user = new User();
- user.setUsername(req.getParameter("username"));
- user.setPassword(req.getParameter("password"));
- user.setAge(Integer.parseInt(req.getParameter("age")));
- user.setAddress(req.getParameter("address"));
- user.setEmail(req.getParameter("email"));
- /*
- * 调用service
- */
- boolean flag = userService.saveUser(user);
- if(flag){
- mav.setViewName("success");
- }else{
- mav.setViewName("fail");
- }
- return mav;
- }
- }
10.测试
打开 localhost/spring/adduser.html ,并填入信息 (我的tomcat将端口设置成了80了,所以我的链接不需要加端口号)
点击提交后,跳转success页面,显示success
然后查看数据库,显示数据已经添加进去了。
现在一个简单的spring框架已经搭建完成,并且而且向数据库添加数据了。
搭建Spring框架,实现添加数据到数据库的更多相关文章
- ThinkPHP 添加数据到数据库失败
ThinkPHP 添加数据到数据库失败 一般情况下会先检查一下几个方面 检查控制器或Model名是否有误 检查需要插入的数据是否为空或者缺失参数 检查数据表名及字段名称(大部分下都是字段名有误出错的) ...
- 框架:Intellij搭建Spring框架
第二章.Intellij搭建Spring框架 前提条件:jdk.jre已经安装完成 方法一.intellij下载jar 附:自带的jar的版本为4.3[2018/11/22] 第一步:选择File&g ...
- Spring框架学习之--搭建spring框架
此文介绍搭建一个最最简单的spring框架的步骤 一.创建一个maven项目 二.在pom.xml文件中添加依赖导入spring框架运行需要的相关jar包 注意:在引入jar包之后会出现org.jun ...
- IDEA搭建Spring框架环境
一.spring 框架概念 spring 是众多开源 java 项目中的一员,基于分层的 javaEE 应用一站式轻量 级开源框架,主要核心是 Ioc(控制反转/依赖注入) 与 Aop(面向切面) ...
- Spring Boot快速搭建Spring框架
Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development a ...
- laravel7 ajax H-ui框架添加数据至数据库
1:定义路由: //租房 Route::resource('house','fang\FangattrController'); 2:控制器访问前端框架: public function create ...
- CI 框架批量添加数据(如果数据库有就更新数据)
model: public function insert_select($values) { $sql = 'INSERT INTO ' . $this->_table_name . '(ar ...
- angular js 页面添加数据保存数据库
一.编写实体类Controller层返回数据使用 package entity; import java.io.Serializable; public class Result implements ...
- 微信小程序云函数 添加数据到数据库
1.新建小程序,建立云开发快速启动模板 这里和普通小程序的区别有三点 一是 project.config.json写上云函数所在目录"cloudfunctionRoot": &qu ...
随机推荐
- GraphSAGE 代码解析(四) - models.py
原创文章-转载请注明出处哦.其他部分内容参见以下链接- GraphSAGE 代码解析(一) - unsupervised_train.py GraphSAGE 代码解析(二) - layers.py ...
- Linux pthread 线程池实现
基于pthread封装了一个简易的ThreadPool,具有以下特性: 1.具有优先级的任务队列 2.线程池大小可以二次调整,增加线程或者删除空闲线程 3.任务两种重写方式,重写run或者使用函数回调 ...
- 数据结构11——KMP
一.博客导航 KMP算法 扩展KMP算法
- [译]如何撤销git仓库里的所有修改?
原文来源:https://stackoverflow.com/questions/29007821/git-checkout-all-the-files 问: 如何撤销我在我git仓库所做的所有修改? ...
- Packet filtering with Linux & NAT
http://www.linuxfocus.org/ChineseGB/May2003/article289.shtml Gateway, Proxy-Arp 和 Ethernet Bridge ? ...
- linux网络编程中需要注意的信号SIGPIPE
在调试cs时,s端循环收,c端循环发,s端意外崩溃后,c端自动退出,终端提示SIGPIPE导致c端退出.man 7 signal: SIGPIPE Term Broken pipe: write to ...
- powerdesigner 外键生成sql语句设置在创建表里面
根据情况需要将创建外键表的sql语句生成在创建表的sql语句中,如下设置:
- P3457 [POI2007]POW-The Flood
题意翻译 Description 你手头有一张该市的地图.这张地图是边长为 m∗n 的矩形,被划分为m∗n个1∗1的小正方形.对于每个小正方形,地图上已经标注了它的海拔高度以及它是否是该市的一个组成部 ...
- [洛谷P1361]小M的作物
题目大意:将作物种在A,B两地,对于每种作物,种A,B分别有不同的收益,对于一些特殊的作物集合,共同种到A,B集合分别有一些额外收益.求最大收益. 题解:最小割,S向i连容量为$a_i$的边,i向T连 ...
- Linux和Windows上实现的异同-Linux的自适应ACK
上周有同事问,延迟ACK到底对应用层会产生什么后果,我也不知道该如何作答,于是丢了一个链接: TCP之Delay ACK在Linux和Windows上实现的异同-Linux的自适应ACK: 是的,这是 ...