增删改查2020.10.7

这篇博客展示了如何使用Java连接MySQL数据库,执行查询和插入操作。通过加载数据库驱动,建立连接,预编译SQL语句防止SQL注入,实现了用户登录查询及用户注册的功能。在注册过程中,注意了字符串拼接避免SQL注入问题。
摘要由CSDN通过智能技术生成

<%@ page import=“java.sql.*” %>
<%–
Created by IntelliJ IDEA.
User: 发
Date: 2020/10/7
Time: 8:02
To change this template use File | Settings | File Templates.
–%>

<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>

Title <% //加载数据库驱动 Class.forName("com.mysql.jdbc.Driver"); //建立数据库链接 String url="jdbc:mysql://10.3.22.1/jhy28?user=root&password=root";
Connection connection = DriverManager.getConnection(url,"root","root");

String sql="select * from user where username= ? and password=?";//使用?代替实际参数
PreparedStatement ps =connection.prepareStatement(sql);



ps.setString(1,request.getParameter("username"));
ps.setString(2,request.getParameter("paswword"));

ResultSet rs =ps.executeQuery();
//遍历结果集数据
while (rs.next())
{
out.print(rs.getString("username")+"-"+rs.getString(3)+"<br>");

//  }
//创建statement对象
//Statement stmt=connection.createStatement();

// String sql=“select * from user where username=’”+request.getParameter(“username”)+"’";
//select *from user where username=‘admin3’ or ‘1’=‘1’ //数据库注入
//执行查询 返回结果集

%>

![在这里插入图片描述](https://img-blog.csdnimg.cn/20201007093621634.png#pic_center) <%@ page import="java.sql.Connection" %> <%@ page import="java.sql.DriverManager" %> <%@ page import="java.sql.Statement" %> <%@ page import="java.sql.ResultSet" %> <%@ page import="com.media.bean.UserBean" %> <%-- Created by IntelliJ IDEA. User: 发 Date: 2020/10/7 Time: 8:31 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %>

<%
//user对象实例化

UserBean user = new UserBean();

//给对象赋值

user.setUsername(request.getParameter("username"));

user.setPassword(request.getParameter("password"));

//数据库加载驱动
Class.forName("com.mysql.jdbc.Driver");

String url = "jdbc:mysql://10.3.22.1/jhy28?user=root&password=root"; //数据库地址;10.3.22.1/jhy28?user=root&password=root
Connection connection = DriverManager.getConnection(url); //名称,密码;

//执行sql语句;
Statement stmt = connection.createStatement();


//执行增删改操作;
// sql 插入语句值是字符串 必须使用单引号
String sql = "insert into user (username,password,gender,age) values('"+user.getUsername()+"','"+user.getPassword()+"','"+user.getGender()+"',"+user.getAge()+")";

//String sql = "update user set status = 3 where id = 11";

//String sql = "delete from user where id =15";  执行sql语句时id 保证数据库中存在该数据


//使用Statement 对象执行sql语句 增删改的数据库操作使用executeUpdate

int count = stmt.executeUpdate(sql);

if (count == 0)
{
out.print(“注册成功”);
}
else
{
out.print(“注册失败”);
}

%>

Title
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是详细的教程: 1. 环境准备 首先,需要准备好以下环境: - IDEA 2020版本 - JDK 1.8或以上 - Maven - Tomcat 2. 创建Maven项目 打开IDEA,选择File -> New -> Project,选择Maven,在左侧选项卡中选择Web Application,点击Next。在下一个页面中输入Group Id和Artifact Id,然后点击Next。 在下一个页面中,输入项目名称和路径,然后点击Finish。IDEA会自动创建一个Maven项目,并且生成一些基本的文件和目录结构。 3. 配置pom.xml 打开项目的pom.xml文件,添加以下依赖: ```xml <!-- Spring依赖 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <!-- MyBatis依赖 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>${mybatis.version}</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>${mybatis-spring.version}</version> </dependency> <!-- 数据库驱动依赖 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.version}</version> </dependency> <!-- Servlet API依赖 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>${servlet.version}</version> <scope>provided</scope> </dependency> <!-- JSP API依赖 --> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>javax.servlet.jsp-api</artifactId> <version>${jsp.version}</version> <scope>provided</scope> </dependency> <!-- JSTL依赖 --> <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>${jstl.version}</version> </dependency> ``` 其中,${spring.version}、${mybatis.version}、${mybatis-spring.version}、${mysql.version}、${servlet.version}和${jsp.version}都是需要在pom.xml中定义的变量,例如: ```xml <properties> <spring.version>5.2.9.RELEASE</spring.version> <mybatis.version>3.5.6</mybatis.version> <mybatis-spring.version>2.0.6</mybatis-spring.version> <mysql.version>8.0.21</mysql.version> <servlet.version>3.1.0</servlet.version> <jsp.version>2.3.3</jsp.version> <jstl.version>1.2</jstl.version> </properties> ``` 4. 配置web.xml 在src/main/webapp/WEB-INF目录下创建web.xml文件,并添加以下内容: ```xml <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> <display-name>SSM Maven Webapp</display-name> <!-- SpringMVC配置 --> <servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/spring-mvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcherServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <!-- Spring配置 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/spring-context.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- 编码过滤器 --> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- JSP和静态资源映射 --> <jsp-config> <jsp-property-group> <url-pattern>*.jsp</url-pattern> <page-encoding>UTF-8</page-encoding> </jsp-property-group> </jsp-config> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app> ``` 5. 编写Spring配置文件 在src/main/resources目录下创建spring目录,并在其中创建spring-context.xml和spring-mvc.xml两个配置文件。 spring-context.xml: ```xml <!-- 数据源配置 --> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC"/> <property name="username" value="root"/> <property name="password" value="123456"/> </bean> <!-- MyBatis配置 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="typeAliasesPackage" value="com.example.demo.entity"/> <property name="mapperLocations" value="classpath:mapper/*.xml"/> </bean> <!-- Mapper扫描配置 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.example.demo.dao"/> </bean> ``` spring-mvc.xml: ```xml <!-- 扫描Controller --> <context:component-scan base-package="com.example.demo.controller"/> <!-- 配置视图解析器 --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/"/> <property name="suffix" value=".jsp"/> </bean> <!-- 配置静态资源访问 --> <mvc:default-servlet-handler/> <!-- 配置SpringMVC注解支持 --> <mvc:annotation-driven/> ``` 6. 编写实体类和Mapper接口 在src/main/java目录下创建com.example.demo.entity和com.example.demo.dao两个包。 在com.example.demo.entity包中创建一个User类,用于表示用户信息: ```java public class User { private Integer id; private String name; private Integer age; // 省略getter和setter方法 } ``` 在com.example.demo.dao包中创建一个UserMapper接口,用于定义对User表的增删改查操作: ```java public interface UserMapper { List<User> listAll(); User getById(Integer id); void add(User user); void update(User user); void delete(Integer id); } ``` 7. 编写Mapper映射文件 在src/main/resources目录下创建mapper目录,并在其中创建UserMapper.xml文件,用于实现UserMapper接口中定义的操作: ```xml <mapper namespace="com.example.demo.dao.UserMapper"> <select id="listAll" resultType="com.example.demo.entity.User"> select * from user </select> <select id="getById" parameterType="java.lang.Integer" resultType="com.example.demo.entity.User"> select * from user where id = #{id} </select> <insert id="add" parameterType="com.example.demo.entity.User"> insert into user(name, age) values(#{name}, #{age}) </insert> <update id="update" parameterType="com.example.demo.entity.User"> update user set name = #{name}, age = #{age} where id = #{id} </update> <delete id="delete" parameterType="java.lang.Integer"> delete from user where id = #{id} </delete> </mapper> ``` 8. 编写Controller 在com.example.demo.controller包中创建一个UserController类,用于处理与用户相关的请求: ```java @Controller @RequestMapping("/user") public class UserController { @Autowired private UserMapper userMapper; @RequestMapping("/list") public String list(Model model) { List<User> userList = userMapper.listAll(); model.addAttribute("userList", userList); return "user/list"; } @RequestMapping("/add") public String add() { return "user/add"; } @RequestMapping("/doAdd") public String doAdd(User user) { userMapper.add(user); return "redirect:/user/list"; } @RequestMapping("/edit") public String edit(Integer id, Model model) { User user = userMapper.getById(id); model.addAttribute("user", user); return "user/edit"; } @RequestMapping("/doEdit") public String doEdit(User user) { userMapper.update(user); return "redirect:/user/list"; } @RequestMapping("/delete") public String delete(Integer id) { userMapper.delete(id); return "redirect:/user/list"; } } ``` 9. 编写JSP页面 在src/main/webapp/WEB-INF/views/user目录下创建list.jsp、add.jsp和edit.jsp三个文件,分别用于显示用户列表、添加用户和编辑用户: list.jsp: ```html <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <html> <head> <title>User List</title> </head> <body> <h1>User List</h1> <table border="1"> <tr> <th>ID</th> <th>Name</th> <th>Age</th> <th>操作</th> </tr> <c:forEach items="${userList}" var="user"> <tr> <td>${user.id}</td> <td>${user.name}</td> <td>${user.age}</td> <td> <a href="${pageContext.request.contextPath}/user/edit?id=${user.id}">编辑</a> <a href="${pageContext.request.contextPath}/user/delete?id=${user.id}">删除</a> </td> </tr> </c:forEach> </table> <br/> <a href="${pageContext.request.contextPath}/user/add">添加用户</a> </body> </html> ``` add.jsp: ```html <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Add User</title> </head> <body> <h1>Add User</h1> <form action="${pageContext.request.contextPath}/user/doAdd" method="post"> Name: <input type="text" name="name"/><br/> Age: <input type="text" name="age"/><br/> <input type="submit" value="提交"/> </form> </body> </html> ``` edit.jsp: ```html <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Edit User</title> </head> <body> <h1>Edit User</h1> <form action="${pageContext.request.contextPath}/user/doEdit" method="post"> <input type="hidden" name="id" value="${user.id}"/> Name: <input type="text" name="name" value="${user.name}"/><br/> Age: <input type="text" name="age" value="${user.age}"/><br/> <input type="submit" value="提交"/> </form> </body> </html> ``` 10. 部署和运行 在IDEA中点击菜单栏的Run -> Edit Configurations,选择Tomcat Server,点击左侧的“+”按钮,选择Local,并设置Tomcat安装目录和应用访问路径。点击OK后,就可以选择新建的配置并点击Run按钮来启动Tomcat服务器。 启动成功后,打开浏览器,访问http://localhost:8080/SSM_Maven_Webapp/user/list即可看到用户列表页面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值