Java与mysql数据库相连接
2016-07-19 22:19
561 查看
下载mysql-connector-java-xxxx-bin.jar,
并导入到需要使用的项目工程中。
首先开启JDBC桥连接。
然后调用DriverManager的getConnection方法,获取到一个Connection的实例。
这个方法的参数总共有三个:
第一个参数为你的MySQL数据库地址+端口号+数据库名;
第二参数为数据库登录名;
第三个参数为登录密码。
在这里强调一点,也是我调了很久的一个问题。
就是在后边操作数据库的时候会乱码,要在第一个参数数据库名称的最后加上编码方式 characterEncoding=utf8
接下来 调用Connection的createStatement()方法获取Statement实例,该实例可以完成对数据库增删改查等sql语句的执行。
有了Statement后,便可以编写sql语句。
增
插入一条信息:
调用Statement的excuteUpdate()方法进行执行,将sql字符串传入。
删
根据条件删除选中的行
改
我们可以使用存储过程来完成
直接使用Connection的prepareStatement()方法
这里采用了通配符,可以在一条语句中设置多个通配符,注意一定要在执行sql语句前给通配符赋值。
最后执行sql语句
查
根据所给条件去数据库进行查询后会返回一个ResultSet结果集,该结果集中有所有我们需要的数据。
只需对其进行遍历取出值后再做相应的想要的操作就好。
比如:
使用while循环,当结果集中有下一行的话,将值依次取出,其中getString()中的数字即为你想要取得的列。
这样增删改查的方法就都有了
最后注意一定要释放PreparedStatement和Statement所连接的数据库及JDBC资源
然后是关闭与数据库的连接
并导入到需要使用的项目工程中。
首先开启JDBC桥连接。
Class.forName("com.mysql.jdbc.Driver");
然后调用DriverManager的getConnection方法,获取到一个Connection的实例。
这个方法的参数总共有三个:
第一个参数为你的MySQL数据库地址+端口号+数据库名;
第二参数为数据库登录名;
第三个参数为登录密码。
在这里强调一点,也是我调了很久的一个问题。
就是在后边操作数据库的时候会乱码,要在第一个参数数据库名称的最后加上编码方式 characterEncoding=utf8
Connection con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/bicycle?characterEncoding=utf8","root","21539822");
接下来 调用Connection的createStatement()方法获取Statement实例,该实例可以完成对数据库增删改查等sql语句的执行。
Statement stmt = con.createStatement();
有了Statement后,便可以编写sql语句。
增
插入一条信息:
String sql="insert into card(name,id,sex,tel,card_id,card_inid,card_money,card_inmoney,money,addmoney,card_now,reason) values ('"+r1+"','"+r2+"','"+r3+"','"+r4+"','"+r5+"','"+r6+"','"+r7+"','"+r8+"','"+r9+"','"+"0"+"','"+"正常"+"','"+""+"');";
调用Statement的excuteUpdate()方法进行执行,将sql字符串传入。
stmt.executeUpdate(sql);
删
根据条件删除选中的行
PreparedStatement ps=con.prepareStatement("delete from card where card_id="+r5+"");
改
我们可以使用存储过程来完成
直接使用Connection的prepareStatement()方法
PreparedStatement ps=con.prepareStatement("UPDATE card set card_now=? where card_id="+r5+"");
这里采用了通配符,可以在一条语句中设置多个通配符,注意一定要在执行sql语句前给通配符赋值。
ps.setString(1,"正常");<em style="background-color: inherit;"></em>
最后执行sql语句
ps.executeUpdate();
查
根据所给条件去数据库进行查询后会返回一个ResultSet结果集,该结果集中有所有我们需要的数据。
ResultSet rs=stmt.executeQuery("SELECT*FROM card where card_id="+r5+"");
只需对其进行遍历取出值后再做相应的想要的操作就好。
比如:
while(rs.next()){ Str 4000 ing rs1=rs.getString(1); String rs2=rs.getString(2); String rs3=rs.getString(3); String rs4=rs.getString(4); String rs5=rs.getString(5); String rs6=rs.getString(6); String rs7=rs.getString(7); String rs8=rs.getString(8); String rs9=rs.getString(9); String rs10=rs.getString(10); String rs11=rs.getString(11); String rs12=rs.getString(12); }
使用while循环,当结果集中有下一行的话,将值依次取出,其中getString()中的数字即为你想要取得的列。
这样增删改查的方法就都有了
最后注意一定要释放PreparedStatement和Statement所连接的数据库及JDBC资源
ps.close(); stmt.close();
然后是关闭与数据库的连接
con.close();
相关文章推荐
- MySQL中的integer 数据类型
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- MySQL存储过程
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- PropertyChangeListener简单理解
- MySQL创建用户及权限控制