永发信息网

java怎么连接mysql

答案:5  悬赏:30  手机版
解决时间 2021-03-21 11:46
java怎么连接mysql
最佳答案
下面代码是使用jdbc直接链接mysql的操作,链接方式与SQL SERVER类似,区别在于加载的驱动不同,url的设置也有点区别,用户名、密码、端口号这些设置都类似


执行脚本返回的结果,可以看出java成功链接上mysql并获取到返回值


mysql-connector-java-5.1.26-bin.jar是java链接mysql使用的jar包,与SQL SERVER链接也有专门的jar包,jar包中包含了java链接mysql所用到的函数驱动等等,所有的jar包都是放到web工程lib目录下

4
如果工程是整合在ssh下,一般情况下都会有一个properties文件,该文件配置了数据库链接常用的命令,下图是mysql中的配置


使用spring框架下进行的测试,结果可以成功执行,其实无论是sql server还是mysql还是其他的数据库,基本功能都一样,只是语法结构有所区别,java在调用的过程中大部分功能只要切换了数据库链接命令就可以公用,如果系统架构设计的足够好,当我们切换数据库的时候,应用程序是不用调整就能兼容的
全部回答
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class Test {     public static void main(String[] args) {         try         {             //方法有很多,这里是直接来的,也可以写在配置文件中             //注意:导入jar包,这个容易忘记             Class.forName("com.mysql.jdbc.Driver");             String url="jdbc:mysql://localhost:3306/mysql";             String username="root";             String password="root";             Connection conn=DriverManager.getConnection(url,username,password);             if(conn!=null)             {                 System.out.println("数据库连接成功");                 conn.close();             }             else             {                 System.out.println("数据库连接失败");             }         }         catch(ClassNotFoundException e)         {             e.printStackTrace();         }         catch(SQLException e)         {             e.printStackTrace();         }         }         }
新建一个properties文件: 数据库,用户,密码根据自己的。 driverClass=com.mysql.jdbc.Driver url=jdbc\:mysql\://localhost\:3306/mydb1 user=root password=123456 新建一个工具类: import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties; //数据库连接工具 public class JdbcUtil { private static String driverClass; private static String url; private static String user; private static String password; static{ try { ClassLoader cl = JdbcUtil.class.getClassLoader(); InputStream in = cl.getResourceAsStream("jdbc.properties"); Properties props = new Properties(); props.load(in); driverClass = props.getProperty("driverClass"); url = props.getProperty("url"); user = props.getProperty("user"); password = props.getProperty("password"); Class.forName(driverClass); } catch (Exception e) { throw new ExceptionInInitializerError(e); } } public static Connection getConnection() throws Exception{ Connection conn = DriverManager.getConnection(url,user, password); return conn; } public static void release(ResultSet rs,Statement stmt,Connection conn){ if(rs!=null){ try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } rs = null; } if(stmt!=null){ try { stmt.close(); } catch (SQLException e) { e.printStackTrace(); } stmt = null; } if(conn!=null){ try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } conn = null; } } } 使用的时候 JdbcUtil.getConnection(); 使用完毕释放 JdbcUtil.release(rs,stmt,conn);
为了能够测试成功,应该新建一个数据库,我建的叫jspstudy,在里面建了一个表叫做addressbook,添加了一条记录,mysql> insert into addressbook (name,address,phone) values ('jjx','zhejiangyuyao','0574-2222222'); 建立一个java文件,输入如下代码: import java.sql.*; import com.mysql.jdbc.*; public class Database { public static void main(String[] args) throws Exception,SQLException { Class.forName("com.mysql.jdbc.Driver"); java.sql.Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jspstudy?user=root&password=500158"); java.sql.Statement sql=conn.createStatement(); java.sql.ResultSet rs=sql.executeQuery("select * from addressbook"); while(rs.next()) { System.out.println(rs.getString(3)); } } }
import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Connection; import java.sql.Statement; public class MysqlDemo { public static void main(String[] args) throws Exception { Connection conn = null; String sql; // MySQL的JDBC URL编写方式:jdbc:mysql://主机名称:连接端口/数据库的名称?参数=值 // 避免中文乱码要指定useUnicode和characterEncoding // 执行数据库操作之前要在数据库管理系统上创建一个数据库,名字自己定, // 下面语句之前就要先创建javademo数据库 String url = "jdbc:mysql://localhost:3306/javademo?" + "user=root&password=root&useUnicode=true&characterEncoding=UTF8"; try { // 之所以要使用下面这条语句,是因为要使用MySQL的驱动,所以我们要把它驱动起来, // 可以通过Class.forName把它加载进去,也可以通过初始化来驱动起来,下面三种形式都可以 Class.forName("com.mysql.jdbc.Driver");// 动态加载mysql驱动 // or: // com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver(); // or: // new com.mysql.jdbc.Driver(); System.out.println("成功加载MySQL驱动程序"); // 一个Connection代表一个数据库连接 conn = DriverManager.getConnection(url); // Statement里面带有很多方法,比如executeUpdate可以实现插入,更新和删除等 Statement stmt = conn.createStatement(); sql = "create table student(NO char(20),name varchar(20),primary key(NO))"; int result = stmt.executeUpdate(sql);// executeUpdate语句会返回一个受影响的行数,如果返回-1就没有成功 if (result != -1) { System.out.println("创建数据表成功"); sql = "insert into student(NO,name) values('2012001','陶伟基')"; result = stmt.executeUpdate(sql); sql = "insert into student(NO,name) values('2012002','周小俊')"; result = stmt.executeUpdate(sql); sql = "select * from student"; ResultSet rs = stmt.executeQuery(sql);// executeQuery会返回结果的集合,否则返回空值 System.out.println("学号\t姓名"); while (rs.next()) { System.out .println(rs.getString(1) + "\t" + rs.getString(2));// 入如果返回的是int类型可以用getInt() } } } catch (SQLException e) { System.out.println("MySQL操作错误"); e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } finally { conn.close(); } } }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
换了刹车片感觉发动机很吃力
北京有哪些不错的露天咖啡馆?
“蚂蚁效应”是说,一群蚂蚁选择在一棵百年老
创维e3100无线网络怎么连接
暴风硬件解码真能实现吗?
一个女生要怎么样才能让男生彻底放弃她
莱芜民生广角重播几点演
26650的电池6800mAh多久能充满
新风巷/淮海中路(路口)地址在什么地方,想过
et46轮毂安装et35轮毂的差别
- Wow! You look different! You wear glas
请问6岁的孩子今天不小心吃了一个发霉的馒头
如何预防食品安全事件,如何预防食品安全事件
安排老板吃饭的句子,描写恶心的句子
【小题1】对他来说要在这么短的时间内做好准
推荐资讯
老古吉地址有知道的么?有点事想过去
血压: 20/12 KPa
160平米的房子装修要花多少钱
肇州一大庆西客车时刻表
Zn和Fe在NaCl中形成原电池铁片处通氧气为什么
C和指针 书看到 \x100 \0123 \x0123 这3个值
下面不属于连通器的是(  )A.茶壶B.船闸
中国移动10086观后感2000字左右,急~~~
一个圆形水池的周长是12.56米.它的面积是多
外地小学生转学到海门上,哪些学校可接受?
62268220是那里的银行
炒股的佣金是怎么查的
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?