JDBC与ArrayList和hashmao



JDBC帮助类
package work;
import java.beans.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBHelp {
/**
	 * 建立与数据库连接
	 * 1.加载驱动
	 * 2.建立连接
	 */
	public static Connection lianjie(){
//驱动
		final String Driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
//数据库url jdbc:sqlserver://localhost:1433;DataBase=Pet",
		String url = "jdbc:sqlserver://localhost:1433;Database=work";
//数据库用户名
		String name = "sa";
//数据库密码
		String pas = "123456";
Connection con = null;
try{
			Class.forName(Driver);
con = DriverManager.getConnection(url,name,pas);
		}catch(SQLException s){
			s.printStackTrace();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
return con;
	}
}
Student类
package work;
public class Student {
private String StudentNo;
	private String name;
	private String ClassName;
	private int age;
	private String Address;
//封装入口出口
	public String getStudentNo() {
		return StudentNo;
	}
	public void setStudentNo(String studentNo) {
		StudentNo = studentNo;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getClassName() {
		return ClassName;
	}
	public void setClassName(String className) {
		ClassName = className;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getAddress() {
		return Address;
	}
	public void setAddress(String address) {
		Address = address;
	}
}
Work类】
package work;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
public class work {
public static List<Student> getAll() throws SQLException{
//创建ArrayList集合
		List<Student> list = new ArrayList<Student>();
Connection con = DBHelp.lianjie();
Statement st = con.createStatement();
//sql语句
		String sql = "select s.StudentID,s.StudentName,c.ClassName,s.Age,S.Address from Student as s inner join Class as c on s.ClassID = c.ClassID";
ResultSet rs = st.executeQuery(sql);
while(rs.next()){
//实例化一个学生
			Student stu = new Student();
stu.setStudentNo(rs.getString(1));
			stu.setName(rs.getString(2));
			stu.setClassName(rs.getString(3));
			stu.setAge(rs.getInt(4));
			stu.setAddress(rs.getString(5));
list.add(stu);
		}
rs.close();
		st.cancel();
		con.close();
return list;
}
public static Map<String, Student> getClassInfo() throws SQLException{
//创建Map集合
		Map<String, Student> map = new HashMap<String, Student>();
//获取与数据库连接
		Connection con = DBHelp.lianjie();
//sql
		String sql = "select s.StudentID,s.StudentName,c.ClassName,s.Age,S.Address from Student as s inner join Class as c on s.ClassID = c.ClassID";
//建立起程序和数据库的命令桥梁   预编译
		PreparedStatement ps = con.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while(rs.next()){
			Student stu = new Student();
			stu.setStudentNo(rs.getString(1));
			stu.setName(rs.getString(2));
			stu.setClassName(rs.getString(3));
			stu.setAge(rs.getInt(4));
			stu.setAddress(rs.getString(5));
map.put(rs.getString(1), stu);
		}
		rs.close();
		ps.close();
		con.close();
return map;
	}
//打印方法
	public static void show() throws SQLException{
System.out.println("欢迎进入学生查询系统:");
		System.out.println("1.查询学生所有信息(使用ArrayList)\t2.查询学生所有信息(使用HashMap)");
Scanner input = new Scanner(System.in);
		System.out.println("请选择:");
if(input.nextInt()==1){
List<Student> list = getAll();
//迭代器遍历
				Iterator<Student> i = list.iterator();
System.out.println("一共有:"+list.size()+"个学生!");
System.out.println("学号\t名字\t班级\t年龄\t地址");
while(i.hasNext()){
					Student stu = i.next();
System.out.println(stu.getStudentNo()+"\t"+stu.getName()+"\t"+stu.getClassName()+"\t"+stu.getAge()+"\t"+stu.getAddress());
}
			return;
		}
Map<String, Student> map = getClassInfo();
System.out.println("一共有:"+map.size()+"个学生!");
System.out.println("学号\t名字\t班级\t年龄\t地址");
Set<String> set = map.keySet();
Iterator<String> i2 = set.iterator();
while(i2.hasNext()){
String temp = i2.next();
Student stu = map.get(temp);
System.out.println(stu.getStudentNo()+"\t"+stu.getName()+"\t"+stu.getClassName()+"\t"+stu.getAge()+"\t"+stu.getAddress());
}
	}
public static void main(String[] args) {
try {
			show();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
}
JDBC与ArrayList和hashmao的更多相关文章
- java  生成和解析xml
		
本文主要使用的是Jdom.jar包(包的下载百度一下)实现了生成xml文件和解析xml文件 下面是生成xml的实现 说明:stuLists集合是一个存放着Student对象的集合 import jav ...
 - Junit 注解  类加载器 .动态代理 jdbc 连接池  DButils 事务 Arraylist Linklist hashset 异常 哈希表的数据结构,存储过程 Map Object String Stringbufere File类  文件过滤器_原理分析 flush方法和close方法 序列号冲突问题
		
Junit 注解 3).其它注意事项: 1).@Test运行的方法,不能有形参: 2).@Test运行的方法,不能有返回值: 3).@Test运行的方法,不能是静态方法: 4).在一个类中,可以同时定 ...
 - 玩转spring boot——结合AngularJs和JDBC
		
参考官方例子:http://spring.io/guides/gs/relational-data-access/ 一.项目准备 在建立mysql数据库后新建表“t_order” ; -- ----- ...
 - Spring学习记录(十四)---JDBC基本操作
		
先看一些定义: 在Spring JDBC模块中,所有的类可以被分到四个单独的包:1.core即核心包,它包含了JDBC的核心功能.此包内有很多重要的类,包括:JdbcTemplate类.SimpleJ ...
 - java web学习总结(二十三) -------------------编写自己的JDBC框架
		
一.元数据介绍 元数据指的是"数据库"."表"."列"的定义信息. 1.1.DataBaseMetaData元数据 Connection.g ...
 - jdbc读取数据库,表相关信息(含注释)
		
读取数据库中的所有的表名 private Set<String> getTableNameByCon(Connection con) { Set<String> set = n ...
 - spring jdbc 查询结果返回对象、对象列表
		
首先,需要了解spring jdbc查询时,有三种回调方式来处理查询的结果集.可以参考 使用spring的JdbcTemplate进行查询的三种回调方式的比较,写得还不错. 1.返回对象(queryF ...
 - 数据库操作,jdbc的CRUD
		
用Java代码操作数据库,可以用JDBC.首先要加载驱动,之后建立连接,再然后就可以对数据库进行操作. 1.建立连接.此处用的是MySQL数据库 public class DBUtil { publi ...
 - 采用MVC模式JDBC演示案例
		
MVC三层架构: Model 模型层,数据处理和业务逻辑 View 视图层,为客户展示内容 Control 控制层,协调控制,更新模型 案例如下: 1.获得数据库连接 package com.db; ...
 
随机推荐
- 谨慎能捕千秋蝉(一)——XSS
			
最近在研读<白帽子讲web安全>和<Web前端黑客技术揭秘>,为了加深印象,闲暇之时做了一些总结. 下面是书中出现的一些专有词汇: POC(Proof Of Concept): ...
 - 配置NFS服务与tftp服务
			
在VMware在安装ubuntu的图解 链接:http://pan.baidu.com/s/1jIofvYu 密码:da72 图解里已经解压安装了VMware Tools,接下来必须要安装的就是NFS ...
 - c#导入excel 绑定数据 repeat为例子
			
先读取Excel文件并存到dataset public DataSet ExcelToDataTable(string filename, string strsheetname) { try { / ...
 - Oracle11G卸载教程
			
用Oracle自带的卸载程序不能从根本上卸载Oracle,从而为下次的安装留下隐患,那么怎么才能完全卸载Oracle呢?那就是直接注册表清除,步骤如下: 1. 开始->设置->控制面板-& ...
 - Spring+SpringMVC+MyBatis+easyUI整合基础篇(三)搭建步骤
			
框架介绍: 主角即Spring.SpringMVC.MyBatis.easyUI,大家应该也都有所了解,概念性的东西就不写了,有万能的百度. 工作环境: jdk 1.7 m ...
 - linux-网络数据包抓取-tcpdump
			
用法格式: tcpdump [-i 网卡] [选项] '表达式' 选项说明如下: -i:interface 监听的网卡. -nn:表示以ip和port的方式显示来源主机和目的主机,而不是用主机名和 ...
 - 【转】Docker —— 从入门到实践
			
http://yeasy.gitbooks.io/docker_practice/content/index.html Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud ...
 - maven 常用脚本
			
Maven库: http://repo2.maven.org/maven2/ Maven依赖查询: http://mvnrepository.com/ Maven常用命令: 1. 创建Maven的普通 ...
 - css 居中,中央
			
在我的技巧里,有4中居中中央的方法: 1.position:absolute; top:50%;left:50%; margin : -x 0 0 -x; 这是绝对定位的方法,通过算法移动,坏处就是必 ...
 - PHP中include()与require()的区别
			
require 的使用方法如 require("MyRequireFile.php"); .这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require ...