TestMySql

本文提供了一个使用 Java 进行 MySQL 数据库操作的基础示例代码,包括建立连接、执行查询及资源关闭等步骤,并展示了如何利用 Log4j 记录日志。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.jasonhuang.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

import org.apache.log4j.Level;
import org.apache.log4j.Logger;

//import com.mysql.jdbc.Driver;

/*
 * 测试基础MySQL JDBC代码
 
*/

public class TestMySql {

    
/**
     * Log4j日志
     
*/

    
private static Logger logger = Logger.getLogger(TestNIO.class);

    
/**
     * 
@param args
     * 
@throws ClassNotFoundException 
     
*/

    
public static void main(String[] args) {
        
// 设置日志记录级别为INFO
        logger.setLevel(Level.INFO);

        Connection conn 
= null
        Statement stmt 
= null;
        ResultSet rs 
= null;

        
try {
            Properties props 
= new Properties();

            
// 设置数据库用户名和密码
            props.put("user""root");
            props.put(
"password""");
            
// 设置数据库连接使用中文字符集
            props.put("useUnicode""true");
            props.put(
"characterEncoding""GBK");

            
// 非标准写法
            
//Driver driver = new Driver();
            
//conn = driver.connect("jdbc:mysql://localhost:3306/mysql", props);
            
// 标准JDBC写法
            Class.forName("com.mysql.jdbc.Driver");
            conn 
= DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql", props);
            
// 设置为只读(只允许select)
            conn.setReadOnly(true);

            stmt 
= conn.createStatement();
            rs 
= stmt.executeQuery("SELECT * FROM user");
            
int n = 0;
            
while (rs.next()) {
                logger.info(
"记录" + +++ "" + rs.getString("User"));
            }

            logger.info(
"记录总数:" + n);
        }
 catch (Exception e) {
            e.printStackTrace();
        }
 finally {
            
// 依次关闭数据库资源
            if (rs != null{
                
try {
                    rs.close();
                }
 catch (SQLException e) {
                    e.printStackTrace();
                }

                rs 
= null;
            }

            
if (stmt != null{
                
try {
                    stmt.close();
                }
 catch (SQLException e) {
                    e.printStackTrace();
                }

                stmt 
= null;
            }

            
if (conn != null{
                
try {
                    conn.close();
                }
 catch (SQLException e) {
                    e.printStackTrace();
                }

                conn 
= null;
            }

        }

    }


}

 
这个错误出现在TestMySql项目中的文件"mysql_com.h"的第291行,错误提示是未定义标识符"SOCKET"。根据引用,这个项目是一个UE4连接MySQL的插件,用于在UE4引擎中使用蓝图可视化编程方式连接MySQL数据库。所以,这个错误很可能是缺少了对"SOCKET"标识符的定义。你可以检查一下代码中是否包含了对"SOCKET"的引用,并确保在使用"SOCKET"之前已经正确声明和定义它。另外,还需要确保你的环境已经安装好了MySQL数据库,并且相关的依赖库也已正确配置。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [linux下用代码实现MySQL数据库的访问](https://download.youkuaiyun.com/download/qq_39418135/10506852)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [TestMySQL.zip](https://download.youkuaiyun.com/download/liaoshiju0210/12566514)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [testMySQL.rar](https://download.youkuaiyun.com/download/weixin_41226976/12078268)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值