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; ...
随机推荐
- XML中报错
错误描述如下: Multiple annotations found at this line: - cvc-complex-type.2.4.a: Invalid content was found ...
- Html5使用audio播放音乐
html代码 <audio id="myaudio" src="http://ws.stream.qqmusic.qq.com/C100003R74Cn0JR4O ...
- Vue和React之间关于注册组件和组件间传值的区别
注册组件 Vue中:1.引入组件:2.在components中注册组件:3.使用组件; React中:1.引入组件:2.使用组件; 子父传值 Vue中: 父组件向子组件传值: 1.在父组件中绑定值:2 ...
- 攻防世界web新手区(3)
xff_referer:http://111.198.29.45:43071 打开网址,显示出这个页面: X-Forwarded-For:简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP, ...
- UITree_study
1.Create canvas 2.Add TreeView 3.Subscribe and unsubscribe events(订阅和取消订阅事件) 4.Data bind items it's ...
- Windows驱动开发-派遣函数格式
NTSTATUS functionName(PDEVICE_OBJECT pDeviceObject, PIRP pIrp) { //业务代码区 //设置返回状态 pIrp->IoStatus. ...
- OpenJ_Bailian - 1088 滑雪(记忆化搜索)
题意:给定一个二维数组,一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小,输出可以滑行的最长区域的长度. 分析:对于每一个点,进行记忆化搜索.若某点可以向四周某几个点滑行,记忆化搜索求出 ...
- vue - 子组件向父组件 传递方法和参数
1,子组件 TodoItem.vue : <template> <div class="todo-item" :class="{'is-compl ...
- mysql 权限管理 grant revoke
grant all privileges on database.table to 'user'@'ip' identified by 'passwd' with grant option; g ...
- tools.quartz.about
官方网站,中文文档,demo, 参考零, 参考一, 参考二, 参考三, 参考四 , 参考五 ,文档下载 .