Java通过jdbc远程操控MySQL数据库
2016-05-08 18:47
369 查看
注意事项有以下几点:
1,MySQL数据库端要关闭防火墙
2,关于字符集问题要设置好,可以参考以下博客eclipse向MySQL workbench插入中文显示乱码
关于解决workbench无法插入中文的问题
1,MySQL数据库端要关闭防火墙
2,关于字符集问题要设置好,可以参考以下博客eclipse向MySQL workbench插入中文显示乱码
关于解决workbench无法插入中文的问题
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class Mydatabase { static Statement statement; static Connection connection; public Mydatabase() { } //用于连接数据库 private static void connect() { try { try { Class.forName( "com.mysql.jdbc.Driver");//加载数据库驱动 System.out.println("数据库驱动加载成功"); }catch(ClassNotFoundException e){} //连接数据库 connection=DriverManager.getConnection("jdbc:mysql://125.250.223.51:3306/words?characterEncoding=utf8","root",""); //其中125.250.223.51要换成数据库端所在的IP地址,3306改为数据库的端口号 statement=connection.createStatement(); }catch(Exception e){ e.printStackTrace(); System.out.println("sorry,连接失败");} } //向数据库word表中插入词语 public void insert(String s) throws SQLException { connect(); try { statement.executeUpdate("INSERT INTO word VALUES ('"+s+"','"+s.length()+"')"); } catch (SQLException e) { System.out.println("已经有这个词语"); e.printStackTrace(); } try { statement.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { connection.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //删除数据库word表的某个词语 public void delete(String s ) { connect(); try { statement.executeUpdate("DELETE FROM word WHERE description='"+s+"'"); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { statement.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { connection.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //随机从数据库word表中获得一个词语 public String getWord() { connect(); ResultSet set=null; try { set=statement.executeQuery("SELECT*FROM word ORDER BY rand() LIMIT 5"); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { while(set.next()) { return set.getString(1); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return "not"; } //账户的注册 public void register(String user ,String password) { connect(); try { statement.executeUpdate("INSERT INTO account VALUES ('"+user+"','"+password+"')"); } catch (SQLException e) { System.out.println("用户已存在"); e.printStackTrace(); } try { statement.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { connection.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //用户的登录 public boolean login(String user ,String password) { connect(); ResultSet set=null; try { set=statement.executeQuery("SELECT password FROM account where user='"+user+"'" ); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { while(set.next()) { if(password.equals(set.getString(1))) return true; else return false; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return false; } }
相关文章推荐
- eclipse快捷方式收藏
- 20145215《Java程序设计》第10周学习总结
- struts2模型驱动获取表单的数据是空
- 《java入门第一季》之面向对象(匿名内部类)
- 《java入门第一季》之面向对象(匿名内部类)
- SpringMVC 全注解配置
- Java之------单机版书店管理系统(设计思想和设计模式系列一)概述
- 20145201《Java程序设计》第十周学习总结
- [JAVA修炼之路十二]- session管理
- 【Java故事系列】J2EE前五年: 从起源到目的
- Struts2基础学习(三)—Result和数据封装
- 20145231《Java程序设计》第五次实验报告
- 《java入门第一季》之面向对象(内部类到底在哪里?)
- 《java入门第一季》之面向对象(内部类到底在哪里?)
- eclipse编译器出现Type Class 'XXX' has virtual method 'XXX' but non-virtual destructor的解决办法
- hdoj2016(java)数据的交换输出(数组交换)
- hdoj2015(java)偶数求和 (找规律,总结)常看
- Java 设计模式(十) 单一职责原则(SRP)
- Java中继承thread类与实现Runnable接口的区别
- 20145325张梓靖 《Java程序设计》第10周学习总结