Servlet的数据库访问
创建数据库:

import java.sql.*;
public class SqlUtil {
static {
try {
Class.forName("com.mysql.jdbc.Driver"); //加载驱动
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
/*
* 获取连接
*
* */
public static Connection getConnection(){
try {
return DriverManager.getConnection("jdbc:mysql:///test","root","123456");
//// JDBC 驱动名及数据库 URL
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
/*
*关闭连接
* */
public static void close(ResultSet rs,PreparedStatement pst,Connection conn){
if(rs != null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(pst != null){
try {
pst.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
/*
* 执行注册
* */
public static boolean reg(UserEntity user){
Connection conn = getConnection(); // 打开一个连接
String sql ="insert into users (username,password,sex,hobby,address,introduce) values (?,?,?,?,?,?)";
PreparedStatement pst =null;
boolean flag =false;
try {
pst =conn.prepareStatement(sql);
pst.setString(1, user.getUsername());
pst.setString(2, user.getPassword());
pst.setString(3, user.getSex());
pst.setString(4, user.getHobby());
pst.setString(5, user.getAdress());
pst.setString(6, user.getIntroduce());
flag = pst.executeUpdate() > 0; //执行完成
} catch (SQLException e) {
e.printStackTrace();
}finally {
close(null,pst,conn);
}
return flag;
}
/*
* 执行登录
* */
public static UserEntity login(String username,String password){
//获取连接
Connection conn = getConnection();
//sql
String sql = "select * from users where username=? and password=?";
PreparedStatement pst = null;
ResultSet rs = null;
UserEntity user = null;
try {
pst = conn.prepareStatement(sql);
pst.setString(1, username);
pst.setString(2, password);
rs = pst.executeQuery();
while(rs.next()){
user = new UserEntity();
user.setUid(rs.getInt("uid")); //从数据库获取数据 之后将数据存放在user对象中
user.setUsername(rs.getString("username"));
user.setPassword(rs.getString("password"));
user.setAddress(rs.getString("address"));
user.setHobby(rs.getString("hobby"));
user.setIntroduce(rs.getString("introduce"));
user.setSex(rs.getString("sex"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally{
close(rs, pst, conn);
}
return user;
}
}
Servlet的数据库访问的更多相关文章
- spring配置druid连接池和监控数据库访问性能
Druid连接池及监控在spring配置如下: <bean id="dataSource" class="com.alibaba.druid.pool.DruidD ...
- [入门级] visual studio 2010 mvc4开发,用ibatis作为数据库访问媒介(一)
[入门级] visual studio 2010 mvc4开发,用ibatis作为数据库访问媒介(一) Date 周二 06 一月 2015 By 钟谢伟 Tags mvc4 / asp.net 示 ...
- DataAccess通用数据库访问类,简单易用,功能强悍
以下是我编写的DataAccess通用数据库访问类,简单易用,支持:内联式创建多个参数.支持多事务提交.支持参数复用.支持更换数据库类型,希望能帮到大家,若需支持查出来后转换成实体,可以自行扩展dat ...
- 在数据库访问项目中使用微软企业库Enterprise Library,实现多种数据库的支持
在我们开发很多项目中,数据访问都是必不可少的,有的需要访问Oracle.SQLServer.Mysql这些常规的数据库,也有可能访问SQLite.Access,或者一些我们可能不常用的PostgreS ...
- [开源].NET数据库访问框架Chloe.ORM
扯淡 13年毕业之际,进入第一家公司实习,接触了 EntityFramework,当时就觉得这东西太牛了,访问数据库都可以做得这么轻松.优雅!毕竟那时还年轻,没见过世面.工作之前为了拿个实习机会混个工 ...
- 我的基于asp.net mvc5 +mysql+dapper+easyui 的Web开发框架(1)数据库访问(0)
一.数据库访问 概述 1. 数据库使用mysql,orm采用dapper框架.dapper框架应用简单,只是需要自己手写sql语句,但是对于像我这样写了多年sql语句的人来说,这应该不算问题,个人还是 ...
- 数据库访问性能优化 Oracle
特别说明: 1. 本文只是面对数据库应用开发的程序员,不适合专业DBA,DBA在数据库性能优化方面需要了解更多的知识: 2. 本文许多示例及概念是基于Oracle数据库描述,对于其它关系型数据库也 ...
- 我也来写:数据库访问类DBHelper
一.前言 相信许多人都百度过:“.net 数据库访问类”.然后就出来一大堆SqlHelper.我也用过这些SqlHelper,也自己写过,一堆静态方法,开始使用起来感觉很不错,它们也确实在很多时候可以 ...
- step by step 之餐饮管理系统六(数据库访问模块)
距上次写的博客已经好几个月,一方面公司里面有很多的东西要学,平时的时候又要写代码,所以没有及时更新,不过现在还好,已经成型了,现在把之前的东西贴出来,先看一下现在做的几个界面吧.第一个界面是用颜色用区 ...
随机推荐
- winform :DataGridView添加一列checkbox
#region 添加checkbox列 public void AddCheckBox() { DataGridViewCheckBoxColumn columncb = new D ...
- 如使用Typescript撸Vue(Vue2 + TS +TSX+CSS module)
Vue对TS的支持一致不太好,连Vue作者尤大也自嘲真香压错了宝.期待Vue3.0会用TS重构且会有较大改进.不过目前有一些第三方的库可以曲线优化对TS的支持.主要就介绍下过下面两个库来写Vue. 总 ...
- 使用session的监听器获取当前在线人数
1首先在web.xml中配置Session的监听器 2创建监听器并且继承HttpSessionListener 3.在jsp中导入监听器 4.获取当前在线人数 5.配置到公共网络(使用natapp的免 ...
- 879. Profitable Schemes
There are G people in a gang, and a list of various crimes they could commit. The i-th crime generat ...
- “全栈2019”Java多线程第二十章:同步方法产生死锁的例子
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
- linux 中定时执行python脚本
一.让Python随Linux开机自动运行 准备好要自启的脚本auto.py 用root权限编辑以下文件 sudo vim /ect/rc.local 在exit 0上面编辑启动脚本的命令(编辑rc. ...
- [AIR] AIR程序调用本地默认应用程序打开本地文件
摘要: File类提供了一个方法openWithDefaultApplication可以用本地默认应用程序打开指定路径下的文件. 当我用下面语句的时候,可以成功打开桌面文件夹下面的文件: v ...
- iOS--MJRefresh的使用 上拉刷新和下拉加载
1.一般使用MJRefresh 来实现上拉刷新和下拉加载功能 2.MJRefresh 下载地址:https://github.com/CoderMJLee/MJRefresh 3. MJRefresh ...
- SVN图形客户端上传静态库.a文件失败
1.原因客户端未添加静态库 2.解决办法 到项目静态库所在目录用命令行添加静态库文件 svn add ****.a 3.可能存在问题 Mac OS的自带SVN版本过低不能添加,报错如下: svn: E ...
- WebDriverAPI(10)
操作Frame页面元素 测试网址代码 frameset.html: <html> <head> <title>frameset页面</title> &l ...