// // Source code recreated from a .class file by IntelliJ IDEA // (powered by Fernflower decompiler) // package com.core; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties; public class ConnDB { public Connection conn = null; public Statement stmt = null; public ResultSet rs = null; private static String propFileName = "/com/connDB.properties"; private static Properties prop = new Properties(); private static String dbClassName = "com.mysql.jdbc.Driver"; private static String dbUrl = "jdbc:mysql://127.0.0.1:3306/db_librarysys?user=root&password=aaaaaa&useUnicode=true"; public ConnDB() { try { InputStream in = this.getClass().getResourceAsStream(propFileName); prop.load(in); dbClassName = prop.getProperty("DB_CLASS_NAME"); dbUrl = prop.getProperty("DB_URL", dbUrl); } catch (Exception var2) { var2.printStackTrace(); } } public static Connection getConnection() { Connection conn = null; try { Class.forName(dbClassName).newInstance(); conn = DriverManager.getConnection(dbUrl); } catch (Exception var2) { var2.printStackTrace(); System.out.println("wgh:" + dbUrl); } if (conn == null) { System.err.println("警告: DbConnectionManager.getConnection() 获得数据库链接失败.\r\n\r\n链接类型:" + dbClassName + "\r\n链接位置1:" + dbUrl); } return conn; } public ResultSet executeQuery(String sql) { try { this.conn = getConnection(); this.stmt = this.conn.createStatement(1004, 1007); this.rs = this.stmt.executeQuery(sql); } catch (SQLException var3) { System.err.println(var3.getMessage()); } return this.rs; } public int executeUpdate(String sql) { boolean var2 = false; int result; try { this.conn = getConnection(); this.stmt = this.conn.createStatement(1004, 1007); result = this.stmt.executeUpdate(sql); } catch (SQLException var4) { result = 0; } return result; } public void close() { try { if (this.rs != null) { this.rs.close(); } if (this.stmt != null) { this.stmt.close(); } if (this.conn != null) { this.conn.close(); } } catch (Exception var2) { var2.printStackTrace(System.err); } } }
时间: 2023-06-25 18:05:52 浏览: 200
这是一个 Java 类,名为 ConnDB,用于连接数据库。它通过读取配置文件中的信息,获取数据库的连接信息。其中,getConnection() 方法用于获取数据库连接对象,executeQuery() 方法用于执行查询语句并返回结果集,executeUpdate() 方法用于执行更新语句并返回影响的行数,close() 方法用于关闭结果集、语句和连接。这个类使用了 JDBC API 来操作数据库。
相关问题
// // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler) // package Servlet; import Service.impl.UserServiceImpl; import domain.User; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; @WebServlet({"/userListServlet"}) public class userListServlet extends HttpServlet { public userListServlet() { } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); UserServiceImpl service = new UserServiceImpl(); List<User> users = service.findAll(); request.setAttribute("users", users); request.getRequestDispatcher("/list.jsp").forward(request, response); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } }
这是一个 Servlet,用于处理用户请求并返回用户列表。该 Servlet 使用了 UserServiceImpl 类的实现来获取用户列表,并将其存储在 request 对象中,最后将请求转发到 list.jsp 页面。其中,doPost() 方法处理 POST 请求,doGet() 方法处理 GET 请求。该 Servlet 的 URL 映射为 "/userListServlet"。
// // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler) // package com.baomidou.mybatisplus.core.toolkit; import java.lang.reflect.Array; import java.util.Collection; import java.util.Map; public class ObjectUtils { public ObjectUtils() { } public static boolean isNull(Object... objs) { Object[] var1 = objs; int var2 = objs.length; for(int var3 = 0; var3 < var2; ++var3) { Object obj = var1[var3]; if (isEmpty(obj)) { return true; } } return false; } public static boolean isNotNull(Object... obj) { return !isNull(obj); } public static boolean isNotEmpty(Object obj) { return !isEmpty(obj); } public static boolean isEmpty(Object obj) { if (obj == null) { return true; } else if (obj.getClass().isArray()) { return Array.getLength(obj) == 0; } else if (obj instanceof CharSequence) { return ((CharSequence)obj).length() == 0; } else if (obj instanceof Collection) { return ((Collection)obj).isEmpty(); } else { return obj instanceof Map ? ((Map)obj).isEmpty() : false; } } }
这是一个对象工具类,其中包含了一些常用的判断对象是否为空的方法。主要有以下几个方法:
- `isNull(Object... objs)`: 判断传入的多个对象是否有为空的情况,只要有一个为空就返回`true`,否则返回`false`。
- `isNotNull(Object... obj)`: 判断传入的多个对象是否都不为空,只要有一个为空就返回`false`,否则返回`true`。
- `isNotEmpty(Object obj)`: 判断传入的对象是否不为空,如果对象不为空就返回`true`,否则返回`false`。
- `isEmpty(Object obj)`: 判断传入的对象是否为空,根据对象的不同类型进行不同的判断。如果对象为null,返回`true`;如果对象是数组类型,判断数组长度是否为0;如果对象是CharSequence类型(如String),判断字符序列长度是否为0;如果对象是Collection类型,判断集合是否为空;如果对象是Map类型,判断Map是否为空。以上情况均不满足,则返回`false`。
这些方法可以方便地判断对象是否为空,提供了一些常用的判断逻辑。
阅读全文