用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - java代码库

Jdbc的基本创建过程

2015-07-25 作者: 锋客举报

[java]代码库

package fengke.test;
import java.sql.SQLException;
import fengke.action.Action;
/**
 * 最为简单Jdbc操作方式
 * @author 锋客
 * 学习重点:1.了解jdbc的创建过程;
 *        2.学会使用静态属性和静态块创建链接======Jdbc
 *        3.了解使用静态块创建链接的特点:控制台中输出的链接为同一个
 *        4.学会配置url======"jdbc:mysql://127.0.0.1:3309/jdbctest?useUnicode=true&characterEncoding=utf-8"
 *        5.学会数据库的操作=====add,listall
 *        6.学会合理利用模型=====Emp
 *        7.注意驱动的加载
 *
 */

public class Test {
	
	public static void main(String[] args) throws SQLException {
		Action action = new Action();
		System.out.println("添加员工信息:");
		action.addEmp();
		System.out.println("查询所有员工信息:");
		action.listAll();
	}

}
=====================================================================================
package fengke.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
 * 创建数据库连接
 * @author 锋客
 * 内容:使用静态的方法,产生链接对象,调用方法,返回对象
 */

public class Jdbc {
	/*
	 * 通过静态方法的特点,当对象被使用时,先调用或是生成静态内容
	 * 产生Connection链接,并通过public Connection getConnection();方法
	 * 返回链接
	 * 
	 * 注意一下:
	 * 静态方法创建的链接对象,生成只有一次(第一次调用Jdbc时),但是被多次调用,因此每次输出的链接对象都一样
	 */
	static private  Connection connection;
	
	static{
		try {
			Class.forName("com.mysql.jdbc.Driver");
			//URL地址"jdbc:mysql://主机地址/操作的数据库名?useUnicode=true&characterEncoding=utf-8"
			String url="jdbc:mysql://127.0.0.1:3309/jdbctest?useUnicode=true&characterEncoding=utf-8";
			//mysql的用户名
			String userName="root";
			//mysql的密码
			String passWord="root";
			//创建链接
			connection=DriverManager.getConnection(url, userName, passWord);
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}

	public Connection getConnection(){
		//测试是否生成正确的connect
		System.out.println(connection);
		return connection;
	}

}
======================================================================================
package fengke.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import fengke.jdbc.Jdbc;
import fengke.model.Emp;

/**
 * 数据库操作
 * 
 * @author 锋客
 *  内容:1、获得数据库链接 2、操作数据库
 *
 */
public class JdbcDao {
	private Jdbc jdbc = new Jdbc();
	// 实现添加数据的功能
	public void addEmp(Emp emp) throws SQLException {
		// 获得数据库链接对象
		Connection connection = jdbc.getConnection();
		// 进行数据库操作
		String sql = "insert into emp(id,name,sex) values(?,?,?)";
		// 设置操作内容
		PreparedStatement statement = connection.prepareStatement(sql);
		statement.setInt(1, emp.getId());
		statement.setString(2, emp.getName());
		statement.setString(3, emp.getSex());
		int rs = statement.executeUpdate();
		System.out.println("添加成功"+rs+"条记录");
	}

	// 实现查询数据的功能
	public void listAll() throws SQLException {
		// 获得数据库链接对象
		Connection connection = jdbc.getConnection();
		// 进行数据库操作
		String sql="select*from emp";
		PreparedStatement statement=connection.prepareStatement(sql);
		ResultSet rs = statement.executeQuery();
		while(rs.next()){
			System.out.println(rs.getInt(1)+"|"+rs.getString(2)+"|"+rs.getString(3));
		}
		System.out.println("结束输出!!!");

	}

}
======================================================================================
package fengke.action;

import java.sql.SQLException;
import java.util.Random;
import fengke.dao.JdbcDao;
import fengke.model.Emp;
/**
 * 功能层
 * @author 锋客
 * 实现添加和查询的功能
 *
 */
public class Action {
	
	public void addEmp() throws SQLException{
		//通过循环将信息输入到数据库中
		for(int i=1;i<10;i++){
			String name="fengke"+i;
			System.out.println(name);
			Emp emp=new Emp(i,name,"man");
			JdbcDao dao=new JdbcDao();
			dao.addEmp(emp);
		}
	}
	
	public void listAll() throws SQLException{
		JdbcDao dao=new JdbcDao();
		dao.listAll();
	}

}
=================================================================================
package fengke.model;
/**
 * 模型
 * @author 锋客
 * 内容:员工的基本信息
 */

public class Emp {
	private int id;//员工id
	private String name;//员工姓名
	private String sex;//员工性别
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public Emp() {
		super();
		// TODO Auto-generated constructor stub
	}
	//生成员工对象
	public Emp(int id, String name, String sex) {
		super();
		this.id = id;
		this.name = name;
		this.sex = sex;
	}
	

}

[源代码打包下载]




网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...