Java 连接SQLServer数据库
写前说明
java是自己自学的,学的不成系统,东学点,西看看。需要用到什么,才回去查。今天就把这过程记录下。一遍日后自己不忘。
正式开工
在Myeclipse中新建一个Java project工程。然后新建一个class类并添加main方法。

1 import java.io.UnsupportedEncodingException; 2 import java.security.MessageDigest; 3 import java.security.NoSuchAlgorithmException; 4 import java.sql.*; 5 import java.util.HashMap; 6 import java.util.Map; 7 import java.util.Random; 8 9 /** 10 * 11 */ 12 13 /** 14 * @author telunsu 15 * 16 */ 17 public class Mytest01 { 18 public static Connection conn; 19 private static final String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; 20 private static final String URI = "jdbc:sqlserver://localhost:1433; DatabaseName=mall"; 21 private static final String USER = "sa"; 22 private static final String pwd = "123456"; 23 /** 24 * @param args 25 */ 26 public static void main(String[] args) { 27 // TODO 自动生成的方法存根 28 execSQLServer (execMD5()); 29 } 30 public static Map<String,String> execMD5() 31 { 32 Map<String,String> map = new HashMap<String,String>(); 33 String aa = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789!@#$%"; 34 int max = aa.length(); 35 // 生成1000个8位的明文码 36 for (int j = 0; j < 1000; j++) { 37 String mingwen = " "; 38 int s = 0; 39 String tmp = " "; 40 for (int i = 0; i < 8; i++) { 41 // 如果生成的随机字符码与现有的重复,则重新生成字符码 42 while (mingwen.contains(tmp)) { 43 Random random = new Random(); 44 // 生成随机数 0~到max的数 ,但这里不包含max本身。 45 s = random.nextInt(max); 46 tmp = aa.substring(s, s + 1); 47 } 48 mingwen = mingwen.trim() + tmp; 49 } 50 String bb = getMD5Str(mingwen);//明文,密文都已经生成 51 map.put(j+"passwd",mingwen); 52 map.put(j+"md5",bb); 53 } 54 return map; 55 } 56 public static void execSQLServer(Map<String,String> map) 57 { 58 try { 59 Class.forName(DRIVER); 60 System.out.println("加载驱动成功"); 61 62 } catch (ClassNotFoundException e) { 63 System.out.println("加载驱动错误信息:" + e.getMessage()); 64 return; 65 } 66 try { 67 conn = DriverManager.getConnection(URI, USER, pwd); 68 System.out.println("连接成功"); 69 java.sql.Statement stmt = conn.createStatement(); 70 // 执行数据库查询语句 71 for (int i=0;i<map.size()/2;i++) 72 { 73 String sql="insert into miwen values('"+map.get(i+"passwd")+"','"+map.get(i+"md5")+"')"; 74 stmt.execute(sql);//执行sql 75 } 76 System.out.println("插入数据完成"); 77 } catch (SQLException e) { 78 System.out.println("数据库连接错误信息:" + e.getMessage()); 79 e.printStackTrace(); 80 } 81 82 } 83 /** 84 * SHA 加密 85 */ 86 static String getMD5Str(String str) 87 { 88 try 89 { 90 MessageDigest messageDigest = null; 91 messageDigest = MessageDigest.getInstance("MD5"); 92 messageDigest.reset(); 93 messageDigest.update(str.getBytes("UTF-8")); 94 byte[] byteArray = messageDigest.digest(); 95 StringBuffer md5StrBuff = new StringBuffer(); 96 97 for (int i = 0; i < byteArray.length; i++) 98 { 99 if (Integer.toHexString(0xFF & byteArray[i]).length() == 1) 100 md5StrBuff.append("0").append(Integer.toHexString(0xFF & byteArray[i])); 101 else 102 md5StrBuff.append(Integer.toHexString(0xFF & byteArray[i])); 103 } 104 return md5StrBuff.toString(); 105 } 106 catch (NoSuchAlgorithmException e) 107 { 108 System.out.println("NoSuchAlgorithmException caught!"); 109 System.exit(-1); 110 } 111 catch (UnsupportedEncodingException e) 112 { 113 e.printStackTrace(); 114 } 115 return ""; 116 117 } 118 }
按照上面代码直接运行。提示如下问题:

原因在于没有找到SQLServer的驱动。将
在构建路径中添加驱动。

浙公网安备 33010602011771号