包
为什么需要包?
Windows树形文件系统:
文档分门别类,易于查找和管理
使用目录解决文件同名冲突问题
Java允许使用包将多个类组织在一起。借助于包可以方便的组织管理类,并将自定义的类与其它的类库分开管理。Java就是使用包来管理类库的 。
JDBC
JDBC是Java数据库连接技术的简称,提供连接各种常用数据库的能力
JDBC 的工作原理
JDBC API主要功能:与数据库建立连接、执行SQL 语句、处理结果。
DriverManager :依据数据库的不同,管理JDBC驱动。
Connection :负责连接数据库并担任传送数据的任务。
Statement :由 Connection 产生、负责执行SQL语句。
ResultSet:负责保存Statement执行后所产生的查询结果。
代码实操
编写一个库存管理系统
Menu类:
package com.hyg.view;
import java.util.Scanner;
import com.hyg.service.UserService;
public class Menu {
Scanner sc=new Scanner(System.in);
/**
* 用户登录
*/
public void loginView() {
System.out.println("------欢迎进入库存管理系统!-----");
System.out.println("------------1.登录-------------");
System.out.println("------------2.退出-------------");
System.out.println("请输入要进行的操作:");
int result=sc.nextInt();//获取用户控制台输入的整数
if(result==1) {
//登录
System.out.println("请输入账号:");
String userno=sc.next();//获取用户控制台输入的字符串
System.out.println("请输入密码:");
String pwd=sc.next();//获取用户控制台输入的字符串
//调用业务层的登录方法
UserService userService=new UserService();
Boolean re=userService.login(userno,pwd);
if(re==true) {
//登录成功
System.out.println("进入首页!");
}else {
//登录失败
loginView();
}
}else {
//退出
System.out.println("您已退出系统!");
}
}
public static void main(String[] args) {
Menu m=new Menu();
m.loginView();
}
}
UserService类:
package com.hyg.service;
import com.hyg.dao.UserDao;
public class UserService {
UserDao userDao=new UserDao();
/**
* 用户登录
* @param userno 账号
* @param pwd 密码
* @return true:登陆成功,false:登录失败
*/
public Boolean login(String userno,String pwd) {
// 处理业务逻辑,密码加密等……
return userDao.login(userno,pwd);
}
}
UserDao类:
package com.hyg.dao;
public class UserDao {
/**
* 用户登录
* @param userno 账号
* @param pwd 密码
* @return true:登陆成功,false:登录失败
*/
public Boolean login(String userno,String pwd) {
return null;
}
}
BaseDao类:
package com.hyg.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
/**
* 数据库访问基类
*/
public class BaseDao {
//数据库驱动
private String driver="com.mysql.jdbc.Driver";
//地址(IP、端口、数据库名称)
private String url="jdbc:mysql://localhost:3306/orcl?useUnicode=true&characterEncoding=UTF-8";
//数据库连接账号
private String name="root";
//数据库连接密码
private String pass="root";
Connection conn;//数据库连接类
PreparedStatement ps;//执行命令(SQL)类
ResultSet rs;//存储执行结果
/**
* 获得数据库连接
* @return 数据库连接对象
*/
public Connection getConn() {
try {
Class.forName(driver);
//得到数据库连接信息
Connection conn=DriverManager.getConnection(url, name, pass);
return conn;
} catch (Exception e) {
//写入日志文件
//向控制台打印异常
e.printStackTrace();
}
return null;
}
public static void main(String[] args) {
new BaseDao().getConn();
}
}
注意:这只是一个初步的程序,还没有完成,很多地方有待完善,先放到这里,以免后续出错,可以直接用嘻嘻嘻。