1.java数据类型转换,三元表达式,控制台输入Scanner类,jdbc数据库操作

1.结果转换为byte类型

//1.将aa+dd的输出结果转换为byte类型
byte dd = (byte) (aa+dd);

2.三元表达式

//2.三元表达式
int max = (a>=b)?a:b;

3.Scanner控制台输入

//3.Scanner控制台输入
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数:");
//接收数据
int i = sc.nextInt();
//把数据输出
System.out.println("i:"+i);
 /**
 4.hasNextXXX是返回一个布尔值,是否还有下一个输入项,XXX是可以任意类型的
 nextXXX 获取下一个输入项,可以是任意XXX类型
 String nextLine() 换行符分隔
 String next() 空格,tab,回车等作为分隔符,后面的内容不显示了,只显示前面的内容
 nextInt接受整数,nextLine接受字符串 这两个用的最多
 */
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数:");
if(sc.hasNextInt()){ //判断下一个输入的是否是整数
    int num = sc.nextInt();
    System.out.println(num);
}

4.连着Scanner输入5个学生的姓名,语文成绩,数学成绩,英语成绩

//5.连着输入5个学生的姓名,语文成绩,数学成绩,英语成绩
public void test8(){
for (int i = 0; i < 5; i++) {
	Scanner sc = new Scanner(System.in);
	System.out.println("请输入第" + (i + 1) + "个学生信息:");
	System.out.println("姓名:");
	String name = sc.nextLine();
	System.out.println("语文成绩:");
	int chinese = sc.nextInt();
	System.out.println("数学成绩:");
	int math = sc.nextInt();
	System.out.println("英语成绩:");
	int english = sc.nextInt();
}

5.JDBC数据库操作

5.1JDBC导入驱动包

//jdbc
//1.导入驱动包
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

//1.update account set balance = 500 where id = 1
@Test
public void test() throws Exception {
/**
 * 1.DriverManager:驱动管理对象
 * 2.Connection:数据库连接对象
 * 3.Statement:执行sql对象
 * 4.ResultSet:结果集对象
 * 5.PreparedStatement:执行sql对象
 */
//1.导包
//2.注册驱动(mysql5以后,可以省略这一步)
Class.forName("com.mysql.jdbc.Driver");
//3.获取数据库连接对象
//url:  jdbc:mysql://ip地址:端口号/数据库名称  user:数据库用户名 password:数据库密码
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "12");
//4.定义Sql语句
String sql = "update account set balance = 500 where id = 1";
//5.获取执行Sql对象Statement
Statement stmt = conn.createStatement();
//6.执行sql语句,executeUpdate():执行增删改 executeQuery():执行select语句  execute:可以执行任意Sql语句
int count = stmt.executeUpdate(sql);
//7.处理结果
System.out.println(count);
//8.释放资源
stmt.close();
conn.close();
}
//2.insert into account values(5 ,'刘德华',15000)
@Test
public void test1() throws Exception {
/**
* 1.DriverManager:驱动管理对象
* 2.Connection:数据库连接对象
* 3.Statement:执行sql对象
* 4.ResultSet:结果集对象
* 5.PreparedStatement:执行sql对象
*/
Statement stmt = null;
Connection conn = null;
try {
//1.导包
//2.注册驱动(mysql5以后,可以省略这一步)
Class.forName("com.mysql.jdbc.Driver");
//3.获取数据库连接对象
//url:  jdbc:mysql://ip地址:端口号/数据库名称  user:数据库用户名 password:数据库密码
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "12");
//4.定义Sql语句
String sql = "insert into account values(5 ,'刘德华',15000)";
//5.获取执行Sql对象Statement
stmt = conn.createStatement();
//6.执行sql语句,executeUpdate():执行增删改 executeQuery():执行select语句  execute:可以执行任意Sql语句
int count = stmt.executeUpdate(sql);
//7.处理结果
if (count > 0) {
   System.out.println("成功执行" + count + "行");
} else {
   System.out.println("执行失败");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
//释放资源,避免空指针异常
if (stmt != null) {
   try {
       //8.释放资源
       stmt.close();
   } catch (SQLException e) {
       e.printStackTrace();
   }
}
if (conn != null) {
   try {
       //8.释放资源
       conn.close();
   } catch (SQLException e) {
       e.printStackTrace();
   }
}
}
}
//3.select * from account
@Test
public void test2(){
Statement stmt = null;
Connection conn = null;
ResultSet rs = null;
try {
//1.导包
//2.注册驱动(mysql5以后,可以省略这一步)
Class.forName("com.mysql.jdbc.Driver");
//3.获取数据库连接对象
//url:  jdbc:mysql://ip地址:端口号/数据库名称  user:数据库用户名 password:数据库密码
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "12");
//4.定义Sql语句
String sql = "select * from account";
//5.获取执行Sql对象Statement
stmt = conn.createStatement();
//6.执行sql语句,executeUpdate():执行增删改 executeQuery():执行select语句  execute:可以执行任意Sql语句
 rs = stmt.executeQuery(sql);
//7.处理结果
//7.1让游标向下移动一行
//rs.next();
//7.2获取数据
while(rs.next()) {
    int id = rs.getInt(1); //获取第一列数据
    String name = rs.getString("name"); //获取标签名为name的数据
    double balance = rs.getDouble(3); //获取第三列数据
    System.out.println(id + "--------------" + name + "--------------" + balance);
}
}catch (ClassNotFoundException e){
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
//8.释放资源,避免空指针异常
if (rs != null) {
    try {
        //8.释放资源
        rs.close();
    } catch (SQLException e) {
        e.printStackTrace();
    }
}
if (stmt != null) {
    try {
        //8.释放资源
        stmt.close();
    } catch (SQLException e) {
        e.printStackTrace();
    }
}
if (conn != null) {
    try {
        //8.释放资源
        conn.close();
    } catch (SQLException e) {
        e.printStackTrace();
    }
}
}
}

在这里插入图片描述

//1.1 select * from emp,查询一个表的所有数据的方法封装,返回一个list集合
@Test
public List<Emp> findAll(){
Statement stmt = null;
Connection conn = null;
ResultSet rs = null;
List<Emp> list = null; //创建加载数据表字段对象的集合
try {
	//1.导包
	//2.注册驱动(mysql5以后,可以省略这一步)
	Class.forName("com.mysql.jdbc.Driver");
	//3.获取数据库连接对象
	//url:  jdbc:mysql://ip地址:端口号/数据库名称  user:数据库用户名 password:数据库密码
	conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "12");
	//4.定义Sql语句
	String sql = "select * from emp";
	//5.获取执行Sql对象Statement
	stmt = conn.createStatement();
	//6.执行sql语句,executeUpdate():执行增删改 executeQuery():执行select语句  execute:可以执行任意Sql语句
	rs = stmt.executeQuery(sql);
	//7.处理结果
	//7.1获取数据
	Emp emp = null;
	list = new ArrayList<Emp>();
	while(rs.next()) {
	int id = rs.getInt("id");
	String ename = rs.getString("ename");
	int job_id = rs.getInt("job_id");
	int mgr = rs.getInt("mgr");
	Date joindate = rs.getDate("joindate");
	Double salary = rs.getDouble("salary");
	Double bonus = rs.getDouble("bonus");
	int dept_id = rs.getInt("dept_id");
	 emp = new Emp();
	emp.setId(id);
	emp.setEname(ename);
	emp.setJob_id(job_id);
	emp.setMgr(mgr);
	emp.setJoindate(joindate);
	emp.setSalary(salary);
	emp.setBonus(bonus);
	emp.setDept_id(dept_id);
	//装载集合
	list.add(emp);
}
}catch (ClassNotFoundException e){
	e.printStackTrace();
} catch (SQLException e) {
	e.printStackTrace();
} finally {
//8.释放资源,避免空指针异常
if (rs != null) {
try {
    //8.释放资源
    rs.close();
} catch (SQLException e) {
    e.printStackTrace();
}
}
if (stmt != null) {
try {
    //8.释放资源
    stmt.close();
} catch (SQLException e) {
    e.printStackTrace();
}
}
if (conn != null) {
try {
    //8.释放资源
    conn.close();
} catch (SQLException e) {
    e.printStackTrace();
}
}
}
return list;
}


//1.2定义一个Emp类:
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Emp {
    private int id;
    private String ename;
    private int job_id;
    private int mgr;
    private Date joindate;
    private double salary;
    private double bonus;
    private int dept_id;
}


//1.3main方法调用查询方法:
public static void main(String[] args) {
List<Emp> list = new JdbcDemo().findAll();
System.out.println(list);
/**
* 输出结果:[Emp(id=1, ename=李三, job_id=1001, mgr=1001, joindate=2021-04-12, salary=5000.0, bonus=4000.0, dept_id=1001), 
* Emp(id=2, ename=王五, job_id=1002, mgr=1002, joindate=2021-04-04, salary=6000.0, bonus=5000.0, dept_id=1002)]
* 
*/
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胡启行

您的鼓励将是我前进的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值