简单用JDBC与mysql数据库进行连接
2017-01-14 18:40
441 查看
1.创建一个静态方法Connection用于进行与数据库的连接
(部分重要代码有注释)
//与数据库建立连接的方法
public static Connection getConnection(){
//构造一个连接conn
Connection conn=null;
/*
* 建立连接所需要的数据,ip地址,用户名和密码
* jdbc是java与数据库连接的组件
* mysal是数据库的类型,还有其他数据库类型(如sql、oracle)
* localhost:3306是ip地址+3306端口号
* introduce是数据库的名字*/
String ip="jdbc:mysql://localhost:3306/introduce?useSSL=false";
String username="root";
String password="123456";
try{
//加载这个driver类,而前面的是这个类所在的包名
Class.forName("com.mysql.jdbc.Driver");
//建立连接与数据库
conn=DriverManager.getConnection(ip,username,password);
}catch(ClassNotFoundException e){
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
2.从数据库中获取用户信息
//获取数据库里面id=1的用户的信息
public static void getUser(Connection conn){
//声明,声明程序需要执行的内容
Statement stmt=null;
//结果集,用户保存声明后所获取的东西
ResultSet rs=null;
try {
//对连接数据库这件事进行实例化,用于操作数据库
stmt =conn.createStatement();
//保存这条语句执行的结果,executeQuery+数据库语句
rs=stmt.executeQuery("select * from user where id=1");
//将指针指向集合内部的数据,没有这句话不能访问访问rs内的数据
rs.next();
int id=rs.getInt("id");
String username=rs.getString("username");
String pic=rs.getString("pic");
String introduce=rs.getString("introduce");
String detail_intro=rs.getString("detail_intro");
String href_url=rs.getString("href_url");
String intro1=rs.getString("intro1");
String photo1=rs.getString("photo1");
String intro2=rs.getString("intro2");
String photo2=rs.getString("photo2");
String intro3=rs.getString("intro3");
String photo3=rs.getString("photo3");
System.out.println("id="+id);
System.out.println("username="+username);
System.out.println("pic="+pic);
System.out.println("introduce="+introduce);
System.out.println("detail_intro="+detail_intro);
System.out.println("href_url="+href_url);
System.out.println("intro1="+intro1);
System.out.println("photo1="+photo1);
System.out.println("intro2="+intro2);
System.out.println("photo1="+photo1);
System.out.println("intro3="+intro3);
System.out.println("photo3="+photo3);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try{
//运行完后要关闭这些集合,以免数据泄露
rs.close();
stmt.close();
conn.close();
}catch(SQLException e){
e.printStackTrace();
}
}
}
3.通过与数据库连接获取用户对象
(首先你要新建一个User类来保存用户对象,这里省略这个步骤)
测试代码:
![](https://img-blog.csdn.net/20170114183711451?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcmlja3k3Mzk5OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
方法2结果:
![](https://img-blog.csdn.net/20170114183717252?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcmlja3k3Mzk5OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
数据库User表的信息:
![](https://img-blog.csdn.net/20170114183722060?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcmlja3k3Mzk5OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
成功连接数据库。
4.Navicat for MySQL
一款用于MySQL数据库进行图形化界面操作的软件,让用户更简洁的操作数据库。
(部分重要代码有注释)
//与数据库建立连接的方法
public static Connection getConnection(){
//构造一个连接conn
Connection conn=null;
/*
* 建立连接所需要的数据,ip地址,用户名和密码
* jdbc是java与数据库连接的组件
* mysal是数据库的类型,还有其他数据库类型(如sql、oracle)
* localhost:3306是ip地址+3306端口号
* introduce是数据库的名字*/
String ip="jdbc:mysql://localhost:3306/introduce?useSSL=false";
String username="root";
String password="123456";
try{
//加载这个driver类,而前面的是这个类所在的包名
Class.forName("com.mysql.jdbc.Driver");
//建立连接与数据库
conn=DriverManager.getConnection(ip,username,password);
}catch(ClassNotFoundException e){
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
2.从数据库中获取用户信息
//获取数据库里面id=1的用户的信息
public static void getUser(Connection conn){
//声明,声明程序需要执行的内容
Statement stmt=null;
//结果集,用户保存声明后所获取的东西
ResultSet rs=null;
try {
//对连接数据库这件事进行实例化,用于操作数据库
stmt =conn.createStatement();
//保存这条语句执行的结果,executeQuery+数据库语句
rs=stmt.executeQuery("select * from user where id=1");
//将指针指向集合内部的数据,没有这句话不能访问访问rs内的数据
rs.next();
int id=rs.getInt("id");
String username=rs.getString("username");
String pic=rs.getString("pic");
String introduce=rs.getString("introduce");
String detail_intro=rs.getString("detail_intro");
String href_url=rs.getString("href_url");
String intro1=rs.getString("intro1");
String photo1=rs.getString("photo1");
String intro2=rs.getString("intro2");
String photo2=rs.getString("photo2");
String intro3=rs.getString("intro3");
String photo3=rs.getString("photo3");
System.out.println("id="+id);
System.out.println("username="+username);
System.out.println("pic="+pic);
System.out.println("introduce="+introduce);
System.out.println("detail_intro="+detail_intro);
System.out.println("href_url="+href_url);
System.out.println("intro1="+intro1);
System.out.println("photo1="+photo1);
System.out.println("intro2="+intro2);
System.out.println("photo1="+photo1);
System.out.println("intro3="+intro3);
System.out.println("photo3="+photo3);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try{
//运行完后要关闭这些集合,以免数据泄露
rs.close();
stmt.close();
conn.close();
}catch(SQLException e){
e.printStackTrace();
}
}
}
3.通过与数据库连接获取用户对象
(首先你要新建一个User类来保存用户对象,这里省略这个步骤)
//获取一个id=userId的User public static User getUserById(int userId){ User user=new User(); Connection conn=getConnection(); Statement stmt=null; ResultSet rs=null; try { stmt =conn.createStatement(); //把id=userId的user的信息全部存到rs rs=stmt.executeQuery("select * from user where id="+userId); rs.next(); //用变量保存rs内的信息 int id=rs.getInt("id"); String username=rs.getString("username"); String pic=rs.getString("pic"); String introduce=rs.getString("introduce"); String detail_intro=rs.getString("detail_intro"); String href_url=rs.getString("href_url"); String intro1=rs.getString("intro1"); String photo1=rs.getString("photo1"); String intro2=rs.getString("intro2"); String photo2=rs.getString("photo2"); String intro3=rs.getString("intro3"); String photo3=rs.getString("photo3"); //把上面的信息设置到一个新的user里,在最后返回这个user对象 user.setId(id); user.setUsername(username); user.setPic(pic); user.setIntroduce(introduce); user.setDetail_intro(detail_intro); user.setHref_url(href_url); user.setIntro1(intro1); user.setPhoto1(photo1); user.setIntro2(intro2); user.setPhoto2(photo2); user.setIntro3(intro3); user.setPhoto3(photo3); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ try{ //运行完后要关闭这些集合,以免数据泄露 rs.close(); stmt.close(); conn.close(); }catch(SQLException e){ e.printStackTrace(); } } return user; }
测试代码:
public static void main(String[] args) { // TODO Auto-generated method stub Connection conn=DBUser.getConnection(); getUser(conn); //获取id=1的User对象 User u=getUserById(1); System.out.println(u.getId()); System.out.println(u.getUsername()); }方法1结果:
方法2结果:
数据库User表的信息:
成功连接数据库。
4.Navicat for MySQL
一款用于MySQL数据库进行图形化界面操作的软件,让用户更简洁的操作数据库。
相关文章推荐
- mysql安装
- Mac下修改mysql初始密码和Windows忘记密码的处理
- mysql数据恢复问题
- Mac 下面安装 MySQL( TAR.GZ )
- MySQL 小结(二)
- Ubuntu安装mysql
- MySql批量插入多条数据的一种具体实现方法
- com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate ent原因
- 【MySQL学习笔记】1、安装和基本使用
- Titanic数据集之MySQL练习
- mac安装使用mysql
- MySql数据库资料收集
- MySql模拟数据测试数据库性能
- mysql 嵌套查询
- MYSQL数据库的日志文件
- 数据库访问报错:【1130-Host 'xxxxx' is not allowed to connect to this MySQL server】
- Mysql 最新源码所在地
- MYSQL数据库的参数文件
- MySQL的跨年周统计问题(%X-%V)
- 关于powerdesigner链接Mysql数据库和出现的问题解决方案