Java连接MySQL实现增删改查

现在许多框架都对数据库进行了封装,但是我们刚开始学习时,更好的还是使用Java手写sql语句,进行相关操作,以便于我们了解Mysql调用机制。

HTML的表单不再重复了,如果需要JavaScript验证可以参考我的相关博客:

本文中我们实现用户注册的基础操作:从jsp得到用户名密码->验证用户是否存在->如果用户不存在则插入数据

Java代码如下:

最开始学习的情况下,我们的jsp应该调用的是一个servlet,将下文doSignIn方法中的内容放在你的doGet内,不要完全参考我的。

SQL语句部分,示例只是最基础的username和password字段 还有一个未显示的自增主键id字段,按需修改。

我的Jsp页面传过来的字段是email和password1,是延续上文链接中的Form,这些比较基础就不多说了。

public String doSignIn(HttpServletRequest request){ //这一行不用参考,下文中的代码放在Servlet中即可,return返回值也根据你的需要进行修改

String username = request.getParameter("email");

String password = request.getParameter("password1");

//声明Connection对象

Connection con;

//驱动程序名

String driver = "com.mysql.jdbc.Driver";

//URL指向要访问的数据库名mydata

String url = "jdbc:mysql://localhost:3306/test";

//MySQL配置时的用户名

String user = "root";

//MySQL配置时的密码

String pwd = "123456";

//遍历查询结果集

try {

//加载驱动程序

Class.forName(driver);

//1.getConnection()方法,连接MySQL数据库!!

con = DriverManager.getConnection(url,user,pwd);

if(!con.isClosed())

System.out.println("Succeeded connecting to the Database!");

//2.创建statement类对象,用来执行SQL语句!!

Statement statement = con.createStatement();

//要执行的SQL语句

String sql = "select * from user where username = "+username+"";

//3.ResultSet类,用来存放获取的结果集!!

System.out.println(sql);

ResultSet rs = statement.executeQuery(sql);

if(!rs.next()){

sql="insert into user (username,password) values ("+username+","+password+")";

System.out.println(sql);

try {

statement.execute(sql);

return "success";

} catch (Exception e) {

e.printStackTrace();

System.out.println("数据插入失败!");

}

}else{

System.out.println("用户已经存在!");

}

System.out.println(rs);

rs.close();

con.close();

} catch(ClassNotFoundException e) {

//数据库驱动类异常处理

System.out.println("Sorry,can`t find the Driver!");

e.printStackTrace();

} catch(SQLException e) {

// 数据库连接失败异常处理

e.printStackTrace();

}catch (Exception e) {

e.printStackTrace();

}finally{

System.out.println("数据库数据成功获取!!");

}

return "signin";

}


经验分享 程序员 微信小程序 职场和发展