通过jdbc向数据库中插入数据,并对密码进行加密
2016-04-17 19:15
337 查看
<pre name="code" class="java"> import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Scanner; import javax.naming.InitialContext; public class Test { private static Connection connection = null; private static String url = "jdbc:mysql://localhost:3306/jdbc_317"; private static String user = "root"; private static String password = "123456"; private static PreparedStatement pStatement=null; private static ResultSet result=null; private static void insertData() { // TODO Auto-generated method stub Scanner scanner=new Scanner(System.in); System.out.println("请输入姓名:"); String name=scanner.nextLine(); System.out.println("请输入密码:"); String password=MD5Util.MD5(scanner.nextLine()); scanner.close(); System.out.println("MD5加密后密码:"+password); String sql="insert into user(username,password) values(?,?)"; try { pStatement=connection.prepareStatement(sql); pStatement.setString(1, name); pStatement.setString(2, password); int column = pStatement.executeUpdate(); System.out.println("数据库受影响行数:" + column); System.out.println("------------"); } catch (SQLException e) { e.printStackTrace(); } } //修改密码 private static void updateData() throws SQLException { Scanner scanner=new Scanner(System.in); System.out.println("请输入要修改密码账号姓名:"); String name=scanner.nextLine(); System.out.println("请输入旧密码:"); String oldPassword=MD5Util.MD5(scanner.nextLine()); System.out.println("MD5-->"+oldPassword); System.out.println("请输入新密码:"); String newPassword=MD5Util.MD5(scanner.nextLine()); System.out.println("MD5-->"+newPassword); scanner.close(); String sql= "update user set password=? where username = ? and password = ?"; pStatement=connection.prepareStatement(sql); pStatement.setString(1, newPassword); pStatement.setString(2, name); pStatement.setString(3, oldPassword); int column = pStatement.executeUpdate(); System.out.println("数据库受影响行数:" + column); System.out.println("------------"); } private static void deleteData() throws SQLException { Scanner scanner=new Scanner(System.in); System.out.println("请输入要删除账号的姓名:"); String name=scanner.nextLine(); System.out.println("请输入要删除账号的密码:"); String password=MD5Util.MD5(scanner.nextLine()); System.out.println("MD5-->"+password); scanner.close(); String sql="delete from user where username = ? and password = ?"; pStatement = connection.prepareStatement(sql); pStatement.setString(1, name); pStatement.setString(2, password); int column = pStatement.executeUpdate(); if(column>0){ System.out.println("删除成功"); }else{ System.out.println("无此账号"); } } private static void selectData() throws SQLException { String sql="select * from user"; pStatement=connection.prepareStatement(sql); result= pStatement.executeQuery(); while (result.next()) { int id=result.getInt(1); String name=result.getString("username"); String password=result.getString(3); System.out.println("id:"+id+" name:"+name+" password:"+password); } } public static void main(String[] args) { try { connection =DriverManager.getConnection(url, user, password); System.out.println("数据库连接成功"); //insertData();//插入数据 //updateData(); //修改密码 //deleteData();//删除账号 selectData();//查找所有 } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ if(connection!=null){ try { connection.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } }
import java.security.MessageDigest;public class MD5Util { public static String MD5(String inStr){ MessageDigest md5 = null; try{ md5 = MessageDigest.getInstance("MD5"); }catch (Exception e){ System.out.println(e.toString()); e.printStackTrace(); return "";
} char[] charArray = inStr.toCharArray(); byte[] byteArray = new byte[charArray.length]; for (int i = 0; i < charArray.length; i++) byteArray[i] = (byte) charArray[i]; byte[] md5Bytes = md5.digest(byteArray); StringBuffer stringBuffer = new StringBuffer();
for (int i = 0; i < md5Bytes.length; i++){ int val = ((int) md5Bytes[i]) & 0xff; if (val < 16) stringBuffer.append("0"); stringBuffer.append(Integer.toHexString(val)); } return stringBuffer.toString(); } }
相关文章推荐
- Mysql优化的一般步骤
- mysql之explain详解(分析索引的最佳使用)
- 初识hbase
- 怎么查看mysql的数据库编码格式
- redis学习快捷键
- MySQL入门很简单: 11 mysql函数
- 数据库三范式通俗说法,书上说的太蛋疼
- 数据库范式通俗解释
- ubuntu下修改mysql编码格式的问题
- Mysql 表的增删改sql语句
- 全新安装Mac OSX 开发者环境 同时使用homebrew搭建 PHP,Nginx ,MySQL,Redis,Memcache ... ... (LNMP开发环境)
- 链接sql数据库并输出csv文件
- MySQL入门很简单: 10 mysql运算符
- mongodb入门很简单(1)
- mybatis,sqlserver分页
- mysql中的主要的参数
- SQLite 约束
- mysql插入数据后返回自增ID的方法
- MySQL入门很简单: 9 插入 更新与删除数据
- mac ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib /mysql/mysql.sock' (111)