学完一部分android相关知识点后,为了下周的java测试,我还是反回来重新的学习了上学期的知识点java,在今天打开eclipse之后,对于自己之前自己所写过的东西还有连接数据库的内容,已经有所忘记,今天我就根据一个案例重新写了一下增删改查的代码,这里只对比较重要的代码进行展示:

DB.java:

package com.db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; public class DB {
private static String mysqlname = "database";//数据库名
private static Connection con;
private static Statement stm;
private static ResultSet rs;
private static String coursename = "com.mysql.jdbc.Driver";
private static String url = "jdbc:mysql://127.0.0.1:3306/"+mysqlname+"?useUnicode=true&characterEncoding=GB18030&useSSL=false&serverTimezone=GMT&allowPublicKeyRetrieval=true"; public static Connection getCon() {
try {
Class.forName(coursename);
System.out.println("注册驱动成功");
}catch(ClassNotFoundException e) {
e.printStackTrace();
}
try {
con = DriverManager.getConnection(url,"root","20000604");
System.out.println("建立连接成功");
}catch(Exception e){
e.printStackTrace();
con = null;
}
return con;
} public static void close(Statement stm,Connection connection) {
if(stm!=null) {
try {
stm.close();
}catch(SQLException e) {
e.printStackTrace();
}
}
if(connection!=null) {
try {
connection.close();
}catch(SQLException e) {
e.printStackTrace();
}
}
} //关闭
public static void close(ResultSet rs,Statement stm,Connection connection) {
if(rs!=null) {
try {
rs.close();
}catch(SQLException e) {
e.printStackTrace();
}
}
if(stm!=null) {
try {
stm.close();
}catch(SQLException e) {
e.printStackTrace();
}
}
if(connection!=null) {
try {
connection.close();
}catch(SQLException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args)
{
getCon();
}
}

Dao.java:

package com.dao;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList; import com.bean.staff;
import com.db.DB;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement; public class Dao {
//根据名称进行查询
@SuppressWarnings("static-access")
public static staff selectName_staff(String staff_name) {
String tablename = "staff";
System.out.println("select staff where name = "+staff_name);
staff sta=null;
DB db=new DB();
Connection con = (Connection) db.getCon();
try {
Statement stm = con.createStatement();
ResultSet rs = stm.executeQuery("select * from "+tablename+" where name='" + staff_name + "'");
if(rs.next())
{
sta = new staff();
System.out.println("select the stu from mysql");
sta.setJobid(rs.getString("jobid"));
sta.setName(rs.getString("name"));
sta.setSex(rs.getString("sex"));
sta.setBirthday(rs.getString("birthday"));
sta.setDepartment(rs.getString("department"));
sta.setRole(rs.getString("role"));
sta.setPassword(rs.getString("password"));
//bean.setValue2(Integer.parseInt(rs.getString("teacher")));
//bean.setValue3(Boolean.parseBoolean(rs.getString("address")));
System.out.println("name of the stu is "+rs.getString("staff_name"));
}
db.close(rs,stm, con);
}catch(Exception e) {
e.printStackTrace();
}
return sta;
}
//添加普通员工信息
@SuppressWarnings("static-access")
public boolean add_staff(staff staff) {
String tablename = "staff";//表名
DB db=new DB();
Connection con = (Connection) db.getCon(); try {
String sql="insert into "+tablename+"(jobid,name,sex,birthday,department,role,password) values ('"+staff.getJobid()+"','"+staff.getName()+"','"+staff.getSex()+"','"+staff.getBirthday()+"','"+staff.getDepartment()+"','"+staff.getRole()+"','"+staff.getPassword()+"')";
Statement stm = con.createStatement();
System.out.println(sql);
stm.execute(sql);
db.close(stm, con);
}catch(Exception e) {
e.printStackTrace();
System.out.println("add false");
return false;
}
System.out.println("add true");
return true;
}
//根据员工名字进行删除
@SuppressWarnings("static-access")
public static boolean delete_staff(String name)
{
//String tablename ="test";
DB db=new DB();
Connection con = (Connection) db.getCon();
//Connection con=null;
PreparedStatement stm=null;
try {
con=(Connection) DB.getCon();
String sql="delete from staff where name='"+name+"'";
//String sql="delete from test where name='"+bean.getName()+"'";
System.out.println(sql);
stm=(PreparedStatement) con.prepareStatement(sql);
stm.executeUpdate();
return true;
}
catch(SQLException e)
{
e.printStackTrace();
}
finally {
db.close(stm, con);
}
return false;
} //根据员工名字进行修改
@SuppressWarnings("static-access")
public boolean update_staff(staff stu) {
Connection con=null;
PreparedStatement stm=null;
String tablename="staff";
DB db=new DB();
try {
con=(Connection) DB.getCon();
//String sql="update "+tablename+" set teacher=?,classroom=? where name=?";
String sql="update "+tablename+" set jobid=?,sex=?,birthday=?,department=?,role=?,password=? where name=?";
//String sql="update "+tablename+"set teacher=?,classroom=? where name=?";
stm=(PreparedStatement) con.prepareStatement(sql); //stm.setString(3,bean.getName());
//stm.setString(1, bean.getTeacher());
//stm.setString(2,bean.getClassroom());
stm.setString(1,stu.getJobid());
stm.setString(2,stu.getSex());
stm.setString(3,stu.getBirthday());
stm.setString(4,stu.getDepartment());
stm.setString(5,stu.getRole());
stm.setString(6,stu.getPassword());
stm.setString(6,stu.getName()); stm.executeUpdate();
}
catch(SQLException e)
{
e.printStackTrace();
return false;
}
finally {
db.close(stm, con);
return true;
}
}
//浏览员工全部信息
@SuppressWarnings("static-access")
public ArrayList<staff> selectList_staff(){
Connection con=null;
PreparedStatement stm=null;
ResultSet rs=null;
ArrayList<staff> listbean=new ArrayList<staff>();
String tablename="staff";
DB db=new DB();
try {
con=(Connection) db.getCon();
String sql="select * from "+tablename;
stm=(PreparedStatement) con.prepareStatement(sql);
rs=stm.executeQuery();
while(rs.next()){
String jobid=rs.getString("jobid");
String name=rs.getString("name");
String sex=rs.getString("sex");
String birthday=rs.getString("birthday");
String department=rs.getString("department");
String role=rs.getString("role");
String password=rs.getString("password");
staff stu=new staff(0,jobid,name,sex,birthday,department,role,password);
listbean.add(stu); }
}
catch(SQLException e)
{
e.printStackTrace();
}
finally
{
db.close(stm, con);
}
return listbean;
}
}

在这里遇到最多的问题是dao.java中对sql语句的书写,这也是出现问题最多的地方,希望自己更加的熟练,不断坚持,加油。

java登录以及连接数据库的温习的更多相关文章

  1. SQL:登录、连接数据库基本操作

    使用MySQL 登录.连接数据库 win+R打开控制台,cmd进入控制台,输入mysql -u root -p,后输入密码,进入数据库: 首先可以查看原有的数据库,输入 show databases; ...

  2. Java开发JDBC连接数据库

    Java开发JDBC连接数据库 创建一个以JDBC连接数据库的程序,包含6个步骤: JDBC五部曲1.加载驱动2.获得链接3.获取statement对象 4.执行SQL语句5.产生resultset对 ...

  3. Java登录专题-----创建用户(一)

    Java登录专题-----创建用户(一) 我来填坑了 创建用户 入参 应该包括: 用户姓名,用户密码,用户手机号,用户所属机构 用户版本号,角色id 出参: 没有 数据结构: JavaBean    ...

  4. eclipse Tomcat和 MYSQL JAVA web新手开发示例--登录界面连接数据库

    登录界面login.jsp 1 <%@ page language="java" import="java.util.*" contentType=&qu ...

  5. java登录时数据库验证账户密码-mysql

    一:连接数据库: package login; import java.sql.*; public class conmysql { String drivername="com.mysql ...

  6. java开发JDBC连接数据库详解

    JDBC连接数据库 好文一定要让大家看见 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机) ...

  7. Java中JDBC连接数据库代码和步骤详解总结

    JDBC连接数据库 •创建一个以JDBC连接数据库的程序,包含7个步骤:         1.加载JDBC驱动程序:         在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Jav ...

  8. 【Java】JDBC连接数据库

    JDBC介绍 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言 ...

  9. java(2014版)连接数据库的工具类

    package util; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; ...

随机推荐

  1. Mybatis入门(四)配置别名(二)

    这一章我们练习一下Mybatis的别名,这大大的提高了我们的开发效率 类型别名(typeAliases) 类型别名是为 Java 类型设置一个短的名字. 它只和 XML 配置有关,作用在于用来减少类完 ...

  2. CH15 面向对象程序设计

    面向对象程序设计是基于三个基本概念的:数据抽象.继承和多态. 第7章介绍了数据抽象的知识,简单来说,C++通过定义自己的数据类型来实现数据抽象. 数据抽象是一种依赖于接口和实现分离的编程技术:类的设计 ...

  3. 写的一个轻量级javascript框架的设计模式

    公司一直使用jQuery框架,一些小的项目还是觉得jQuery框架太过于强大了,于是自己周末有空琢磨着写个自己的框架.谈到js的设计模式,不得不说说js的类继承机制,javascript不同于PHP可 ...

  4. Java的SpringMVC执行流程

    SpringMVC找Controller流程 1.扫描整个项目(Spring已经做了)定义一个Map集合. 2.拿到所有加了@Controller注解的类. 3.遍历类里面的所有方法对象. 4.判断方 ...

  5. 回过头来看一看过去20年的十大IT趋势

    导读 这是一个概念,不是一个事物.其实,可以认为当组织的数据增长速度超过IT部门的管理能力时,大数据就开始了.此前,计算机部门的工作人员过去常常按时下班,除非是在灭火或编写代码的时候.而现在,数据管理 ...

  6. helloctf.exe ----攻防世界

    下载附件之后,查壳发现没有壳,运行试试看 很平常的输入代码,然后ida查看一下,开始就发现一个注意的地方,但是还是继续向下看, 结果就是CrackMeJustForFun

  7. 关于Orcale 11g 安装过程

    1.前往Oracle官网下载相应安装包 https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.h ...

  8. CSS - flex使行内元素快速对齐

    div{ display:flex; alian-items:center; //使垂直对齐 justify-content:center //使水平对齐 }

  9. redheat7 sd 0:0:0:0: [sda] Assuming drive cache: write through(未解决)

    以下是我上网查找的解决办法 1. sd 0:0:0:0: [sda] Assuming drive cache: write through 解决方法:/etc/default/grub 文件里去掉  ...

  10. 数据可视化-gojs插件使用技巧总结

    随着云计算时代的到来,由于Web技术的快速革新以及为了提供高质量的用户体验,数据可视化成为了前端技术发展的一大方向.为了解决这个问题,现如今涌现了很多优秀的第三方的javascript图形库,比如hi ...