栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java使用JDBC用操作MySQL的基本实现

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java使用JDBC用操作MySQL的基本实现

目录

一、JDBC是什么

二、JDBC链接数据库的六个步骤

三、添加jar包

四、DaoUtil

1、加载驱动、获取链接对象

2、释放资源

五、BaseDaoUtil层

六、基本操作

1、查询

2、新增

3、修改

4、删除


一、JDBC是什么

1、JDBC:访问数据库的解决方案

2、JAVA定义了一套标准接口,即访问数据库的通用API,不同的数据库厂商根据各自的数据库特点去实现这些接口

3、JDBC希望用相同的方式访问不同的数据库,让具体的数据库操作与数据库厂商无关,从而在不同数据库之间轻易切换

4、JAVA提供解决方案,数据库用接口去实现

二、JDBC链接数据库的六个步骤

1、加载驱动

2、通过DriverMannager获取连接对象

3、创建statement用于执行SQL语句

4、查询结果返回ResultSet

5、释放资源

三、添加jar包

 

四、DaoUtil

1、加载驱动、获取链接对象

通过Class.forName()方法反射完成驱动类注册

	static {
		try {
			Class.forName("com.mysql.cj.jdbc.Driver");
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
		


    public static Connection getConn() {
		Connection conn=null;

			try {
				
				conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/myschool?serverTimezone=GMT","root","123456");
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		
		return conn;
	}

2、释放资源
public static void close(ResultSet rs,Statement state,Connection conn) {
		//释放
		if(rs!=null) {
			try {
				rs.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}


		//释放statement
		if(state !=null) {
			try {
				state.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}

		//释放connection
		if(conn!=null) {
			try {
				conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}

	}

五、BaseDaoUtil层

不同的SQL语句,要调用不同的方法来执行:

  • statement用于执行DML,返回int型的影响行数
int count =stmt.exxecuteUpdate(sql);
  • statement用于执行DQL,返回结果集由ResultSet接收
    ResultSet rs=stmt.executeQuery(sql);
public class UpdateAndFind{
	
	protected static Connection conn;
	protected static Statement state;
	protected static ResultSet rs;

	

	//增删改
	protected int update(String sql) {
		
		
		int ret=0;
		try {
			conn = DaoUtil.getConn();
			state = conn.createStatement();
			ret = state.executeUpdate(sql);


		} catch (SQLException e) {
			e.printStackTrace();
		}finally {
			DaoUtil.close(null, state, conn);
		}
		
		return ret;
		
	}
	
	
	//查询
	protected ResultSet find(String sql) {
		
		
		int ret=0;
		try {
			conn = DaoUtil.getConn();
			state = conn.createStatement();
			rs = state.executeQuery(sql);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		
		return rs;
	}
	

六、基本操作

1、查询
@Override
	public List findAll() {
		List slist=null;
		
		try {

			rs=find("select * from student");


			if(rs !=null) {
				slist=new ArrayList();

				while(rs.next()) {
					Student s=new Student();
					s.setSid(rs.getInt("sid"));
					s.setSname(rs.getString("sname"));
					s.setBirthday(rs.getDate("birthday"));
					s.setSsex(rs.getString("ssex"));
					s.setClassid(rs.getInt("classid"));
					slist.add(s);
				}
			} 
		}catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			//释放资源
			DaoUtil.close(rs, state, conn);
		}

		return slist;
	}

2、新增
	@Override
	public int add(Student s) {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		 String sql = "insert into student(sname,birthday,ssex,classid) "
			 		+ "values('"+s.getSname()+"','"+ sdf.format(s.getBirthday()) +"','"+s.getSsex()+"',"+s.getClassid()+")";
		int ret =update(sql);
		if(ret>0) {
			System.out.println("新增成功");
		}else {
			System.out.println("新增失败");
		}
		return ret;
	}

3、修改
@Override
	public int update(Student s) {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		String sql="update student set sname= '"+s.getSname()+"',birthday='"+sdf.format(s.getBirthday())+"',ssex='"+s.getSsex()+"',classid='"+s.getClassid()+"'";
		
		int ret = update(sql);
		
		if(ret>0) {
			System.out.println("修改成功");
		}else {
			System.out.println("修改失败");
		}
		return ret;
	}

4、删除
@Override
	public int del(int sid) {
		int ret = update("delete from student where sid='"+sid+"'");
		
		if(ret >0) {
			System.out.println("删除成功");
		}else {
			System.out.println("删除失败");
		}
		
		return ret;
	}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1028697.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号