java登录以及连接数据库的温习
学完一部分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登录以及连接数据库的温习的更多相关文章
- SQL:登录、连接数据库基本操作
使用MySQL 登录.连接数据库 win+R打开控制台,cmd进入控制台,输入mysql -u root -p,后输入密码,进入数据库: 首先可以查看原有的数据库,输入 show databases; ...
- Java开发JDBC连接数据库
Java开发JDBC连接数据库 创建一个以JDBC连接数据库的程序,包含6个步骤: JDBC五部曲1.加载驱动2.获得链接3.获取statement对象 4.执行SQL语句5.产生resultset对 ...
- Java登录专题-----创建用户(一)
Java登录专题-----创建用户(一) 我来填坑了 创建用户 入参 应该包括: 用户姓名,用户密码,用户手机号,用户所属机构 用户版本号,角色id 出参: 没有 数据结构: JavaBean ...
- eclipse Tomcat和 MYSQL JAVA web新手开发示例--登录界面连接数据库
登录界面login.jsp 1 <%@ page language="java" import="java.util.*" contentType=&qu ...
- java登录时数据库验证账户密码-mysql
一:连接数据库: package login; import java.sql.*; public class conmysql { String drivername="com.mysql ...
- java开发JDBC连接数据库详解
JDBC连接数据库 好文一定要让大家看见 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机) ...
- Java中JDBC连接数据库代码和步骤详解总结
JDBC连接数据库 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Jav ...
- 【Java】JDBC连接数据库
JDBC介绍 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言 ...
- java(2014版)连接数据库的工具类
package util; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; ...
随机推荐
- Python 矩阵相关
Python 中矩阵运算主要使用numpy库.NumPy的主要对象是同种元素的多维数组.这是一个所有的元素都是一种类型.通过一个正整数索引的元素表格(通常是元素是数字).因此对于随机查找来说,比pyt ...
- @vue-cli的安装及vue项目创建
1.安装 Node.js & Vue CLI @vue/cli3,是vue-进行搭建的脚手架项目,它本质上是一个全局安装的 npm 包,通过安装它,可以为终端提供 vue 命令,进行vue项目 ...
- C# 篇基础知识1——编译、进制转换、内存单位、变量
编译:C#语言要经过两次编译,程序员编写好源代码后进行第一次编译,将源代码编译为微软中间语言(MSIL),生成可以发布的应用软件:当用户使用软件时,MSIL代码会在首次载入内存后进行第二次编译,中间语 ...
- ZCGL项目解析——概述
模块清单 微服务模块:routeservice.eurekaservice.configservice 数据服务模块:fdfsservice.hbaseservice 工具服务模块:common 系统 ...
- 关于netty配置的理解serverBootstrap.option和serverBootstrap.childOption
The parameters that we set using ServerBootStrap.option apply to the ChannelConfig of a newly create ...
- Linux-kernel-timeline
Linux kernel Protocol Location HTTP https://www.kernel.org/pub/ GIT https://git.kernel.org/ RSYNC rs ...
- Java笔记--常用类
1.String类: --使用Unicode字符编码,一个字符占两个字节: --String类是一个final类,代表不可变的字符序列: --字符串是不可变的,一个字符串对象一旦被配置,其内容是不可变 ...
- 006、MySQL取当前系统时间
#取当前时间文本格式 SELECT curdate( ) , now( ); 效果如下图: 不忘初心,如果您认为这篇文章有价值,认同作者的付出,可以微信二维码打赏任意金额给作者(微信号:3824772 ...
- 数据库-----catalog与schema简介
在SQL环境下Catalog和Schema都属于抽象概念,主要用来解决命名冲突问题 一个数据库系统包含多个Catalog,每个Catalog包含多个Schema,每个Schema包含多个数据库对象(表 ...
- 初识python 廖雪峰(慕课网)
3-9 Python中的布尔类型 短路计算 True和False是布尔值,就像1,2,3是整数,“abc”是字符串一样. 做这个题,需要了解以下两点: 第一,在一个语句中,当and和or同时存在时,a ...