java中与mysql连接详细操作
2015-08-06 20:29
363 查看
这次我们做java与数据库的连接,参考上一篇文章。这节我们来一个实例。从student数据库中分别打印出每个对象的名字。
数据库操作
进入数据库时候可以在系统环境变量的path目录下添加mysql\bin路径。这样打开cmd就可以直接使用mysql -uroot -p进行登录操作了。
建立数据库:
使用数据库:
创建表:
向表中插入数据:
这样我们数据库中的操作就基本完成了。接下来我们来编写对应的使用数据库的部分。
实体类(javabean)student
Dao层
这一个class主要实现获得连接和关闭连接:
使用连接的Search.class:
都准备好了,我们可以编写测试类了:
Test
最后附上文件目录结构与运行结果:
数据库操作
进入数据库时候可以在系统环境变量的path目录下添加mysql\bin路径。这样打开cmd就可以直接使用mysql -uroot -p进行登录操作了。
建立数据库:
create database micro;
使用数据库:
use micro;
创建表:
create table student(id int not null primary key,name varchar(20) not null);
向表中插入数据:
insert into student(id,name) value(1,"xiaoma"); insert into student(id,name) value(2,"admin"); insert into student(id,name) value(3,"master"); insert into student(id,name) value(4,"manager");
这样我们数据库中的操作就基本完成了。接下来我们来编写对应的使用数据库的部分。
实体类(javabean)student
package micro; public class Student { int sno; String name; public int getSno() { return sno; } public void setSno(int sno) { this.sno = sno; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
Dao层
这一个class主要实现获得连接和关闭连接:
package micro; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Collection; public class Dao { //访问项目的url public static String url = "jdbc:mysql://localhost:3306/micro"; //登录数据库的用户名与密码 public static String username = "root"; public static String password = "root"; //定义数据库连接 public static Connection getConnection() throws ClassNotFoundException { Connection conn = null; //对数据库的通信都要注意异常抛出 try { //第一步加载驱动 Class.forName("com.mysql.jdbc.Driver"); } catch(ClassNotFoundException e) { System.out.println("驱动加载出错"); e.printStackTrace(); } try { //获得连接 conn = DriverManager.getConnection(url,username,password); System.out.println("获得连接 "); } catch(SQLException e) { System.out.println("获得连接出错"); e.printStackTrace(); } //返回连接 return conn; } public static void close(Connection conn,PreparedStatement preparedStatement,ResultSet rs) { try { //关闭结果集 rs.close(); } catch(SQLException e) { System.out.println("不能关闭结果集"); e.printStackTrace(); } try { //关闭编译通道 preparedStatement.close(); } catch(SQLException e) { System.out.println("不能关闭编译"); e.printStackTrace(); } try { //关闭连接 conn.close(); } catch(SQLException e) { System.out.println("不能关闭连接"); e.printStackTrace(); } } }
使用连接的Search.class:
package micro; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; public class Search { //将所有查询对象封装为一个集合 public List<Student> findAll() throws ClassNotFoundException, SQLException { List<Student> list = null; try { //定义sql语句 String sql = "select * from student"; //获得连接 Connection conn = Dao.getConnection(); //编译方式为预编译 PreparedStatement preparedStatement = conn.prepareStatement(sql); //将执行结果放到结果集 ResultSet rs = preparedStatement.executeQuery(); //初始化集合 list = new ArrayList<Student>(); //遍历结果集将查找的字段的值放到bean的属性里 while(rs.next()) { Student stu = new Student(); //获取结果集元组对应字段的值 stu.setSno(rs.getInt("id")); stu.setName(rs.getString("name")); //将对象放到list里 list.add(stu); } //遍历结束关闭通道 Dao.close(conn, preparedStatement, rs); } catch(SQLException e) { e.printStackTrace(); } //返回集合 return list; } }
都准备好了,我们可以编写测试类了:
Test
package micro; import java.sql.SQLException; import java.util.Iterator; import java.util.List; public class Test { public static void main(String args[]) throws ClassNotFoundException, SQLException { Search sd = new Search(); List list; list = sd.findAll(); Iterator it = list.iterator(); int i = 0; while(it.hasNext()) { i ++; System.out.println("第"+i+"个学生的名字为"+((Student)it.next()).getName()); } } }
最后附上文件目录结构与运行结果:
相关文章推荐
- Spring MVC 整合 Freemarker
- 配置maven版本出错
- Java文件下载
- Java抽象类和接口
- Java之猜字母小游戏
- Java 算法编程 N阶乘最后总位数问题
- struts2学习笔记(二)
- Java 算法编程 N阶乘末尾0的个数问题
- Java分布式相关
- java.io.IOException: open failed: EACCES (Permission denied)问题解决
- java集合框架(map集合)
- exlipse 项目不自动加载lib下的jar
- Spring AOP 学习之静态代理
- Opentaps(OFBiz)在Eclipse下调试配置
- [转]Spring配置之OpenSessionInViewFilter
- JAVA项目1:聊天
- Java之String类
- Java之正则表达式验证手机号码
- JDK1.7的新特性
- Java之正则表达式【实例解析】