导航:首页 > 编程语言 > java向mysql里插入数据

java向mysql里插入数据

发布时间:2022-09-20 15:07:29

java后台向mysql插入数据,数据库中显示乱码

MySQL中默认字符集的设置有四级:服务器级,数据库级,表级
。最终是字段级
的字符集设置。注意前三种均为默认设置,并不代码你的字段最终会使用这个字符集设置。所以我们建议要用show
create
table
table
;
或show
full
fields
from
tableName;
来检查当前表中字段的字符集设置。
MySQL中关于连接环境的字符集设置有
Client端,connection,
results
通过这些参数,MySQL就知道你的客户端工具用的是什么字符集,结果集应该是什么字符集。这样MySQL就会做必要的翻译,一旦这些参数有误,自然会导致字符串在转输过程中的转换错误。基本上99%的乱码由些造成。
上面是我抄网上的资料来的。我试了一下。发现
mysql>
show
variables
like
'char%';
+--------------------------+----------------------------+
|
Variable_name
|
Value
|
+--------------------------+----------------------------+
|
character_set_client
|
latin1
|
|
character_set_connection
|
latin1
|
|
character_set_database
|
latin1
|
|
character_set_filesystem
|
binary
|
|
character_set_results
|
latin1
|
|
character_set_server
|
latin1
|
|
character_set_system
|
utf8
|
|
character_sets_dir
|
/usr/share/mysql/charsets/
|
+--------------------------+----------------------------+
8
rows
in
set
(0.00
sec)
解决方法已经找到。进入数据后
use
数据库名;
names
utf8;
不过这样会每次进入都必须重新设置。因此。还可以在/etc/mysql/my.conf里添加
[mysql]
#no-auto-rehash
#
faster
start
of
mysql
but
no
tab
completition
default-character-set=utf8
这样数据库就不每次按照utf8字符集来导入到数据库了

㈡ 如何控制Java代码向数据库中插入数据

Java程序向数据库中插入数据,代码如下:

//首先创建数据库,(access,oracle,mysql,sqlsever)其中之一,其中access,sqlsever需要配置数据源(odbc);
//然后再eclipse中创建类(ConnDb,Test,TestBean)ConnDb功能为连接数据库,查询,插入,删除,修改数据的类,Test为含有main方法的测试类,TestBean为数据表中的字段属性及set,get方法
//以下是ConnDb代码:
packagedb;
importjava.sql.Connection;
importjava.sql.DriverManager;
import
java.sql.ResultSet;
importjava.sql.SQLException;
import
java.sql.Statement;
importjava.util.ArrayList;
publicclassConnDb{
publicConnectionstartConn(Connectionconn){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn=DriverManager.getConnection("jdbc:odbc:数据库","用户名","密码");
}catch(Exceptione){
System.out.println("连接数据库时出现错误");
}
returnconn;
}

publicArrayListexecuteQuery(Stringsql){
Connectionconn=null;
Statementstmt=null;
ResultSetrs=null;
ArrayListlist=newArrayList();
try{
conn=startConn(conn);
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);//sql为<ahref="https://www..com/s?wd=sql%E8%AF%AD%E5%8F%A5&tn=44039180_cpr&fenlei=-BuW0snHF--bIi4WUvYETgN-TLwGUv3EPHTzPHbkPWf3"target="_blank"class="-highlight">sql语句</a>例如"select*from
表名",从main方法中传进来,这里用的是ArrayList类将查询结果存储起来
while(rs.next()){
TestBeantb=newTestBean();
tb.setTid(rs.getString("tid"));
tb.setTname(rs.getString("tname"));
tb.setTinfo(rs.getString("tinfo"));
list.add(tb);
}
}
catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}finally{
closeConn(rs,stmt,conn);
}
returnlist;
}
publicvoidexecuteUpdate(Stringsql){
Connectionconn=null;
Statementstmt=null;
try{
conn=
startConn(conn);
stmt=conn.createStatement();
stmt.executeUpdate(sql);
}
catch(SQLExceptione){
System.out.println("修改,插入或者删除数据库数据时发生错误!");
}finally{
closeConn(stmt,conn);
}
}
publicvoidcloseConn(ResultSetrs,Statementstmt,Connectionconn){
try{
if(rs!=
null){
rs.close();
}
if(stmt!=null){
stmt.close();
}
if(conn!=null){
conn.close();
}
}
catch(SQLExceptione){
//TODOAuto-generatedcatch
block
System.out.println("关闭数据库的时候发生错误!");
}
}
publicvoidcloseConn(Statementstmt,Connectionconn){
try{
if(stmt!=null){
stmt.close();
}
if(conn!=null){
conn.close();
}
}
catch(SQLExceptione){
//TODOAuto-generatedcatchblock
System.out.println("关闭数据库的时候发生错误!");
}
}
}

㈢ java插入数据到MYSQL数据库问题

觉得你没调用stmt.executeUpdate();这句吧,你可以改成我下面的形式试试。在这之前你得确认连接上数据库了吗?如果你打印con取到了值(或者单步调式看con取到了值)。然后将insert into employee(id,name,sex,born,nation,minzu,zheng,marry,school,wei,tel,address) values ('"+snumber+"','"+sname+"','"+ssex+"','"+sbir+"','"+shometown+"','"+snation+"','"+sstatus+"','"+smarrage+"','"+secation+"','"+sposition+"','"+smobile+"','"+saddress+"')");
改成insert into employee(id,name,sex,born,nation,minzu,zheng,marry,school,wei,tel,address) values (?,?,?,?,?,?,?,?,?,?,?,?)");
然后这样子做:
stmt.setString(1,值);
stmt.setString(2,值);
直至塞完你要插入的值,如果是int的,里面也有stmt.setInt(3,值);
还有float的就有stmt.setFloat(4,值);总之,你想赛什么样的值它都有方法的。
然后你再调用stmt.executeUpdate();就OK了

都给你说了没调用stmt.executeUpdate();
怎么不去试试调用stmt.executeUpdate();呢,调了后没有再找我!

㈣ java操作mysql数据库,插入数据的问题

可能是bigint数据类型与java int型之间的问题

你用java执行时,可以试试用字符串的值代替整型

insert into user(id, name) values ('1', 'a');

㈤ java无法通过textfield向mysql插入数据

String sql= "INSERT INTO bxqd(name,jfh,jwh) values(s1,s2,s3)";

这句话错了,字符串拼接的。正确的写法:

String sql= "INSERT INTO bxqd(name,jfh,jwh) values('"+s1+"','"+s2+"','"+s3+"')";

这样就正确了。

序号的插入在表里面设置自增主键,每次插入数据都会自增1

日期也可以用默认值设置,xx date default CURRENT_TIMESTAMP

㈥ java操作mysql数据库,插入数据的问题

觉得你没调用stmt.executeupdate();这句吧,你可以改成我下面的形式试试。在这之前你得确认连接上数据库了吗?如果你打印con取到了值(或者单步调式看con取到了值)。然后将insert
into
employee(id,name,sex,born,nation,minzu,zheng,marry,school,wei,tel,address)
values
('"+snumber+"','"+sname+"','"+ssex+"','"+sbir+"','"+shometown+"','"+snation+"','"+sstatus+"','"+smarrage+"','"+secation+"','"+sposition+"','"+smobile+"','"+saddress+"')");
改成insert
into
employee(id,name,sex,born,nation,minzu,zheng,marry,school,wei,tel,address)
values
(?,?,?,?,?,?,?,?,?,?,?,?)");
然后这样子做:
stmt.setstring(1,值);
stmt.setstring(2,值);
直至塞完你要插入的值,如果是int的,里面也有stmt.setint(3,值);
还有float的就有stmt.setfloat(4,值);总之,你想赛什么样的值它都有方法的。
然后你再调用stmt.executeupdate();就ok了
都给你说了没调用stmt.executeupdate();
怎么不去试试调用stmt.executeupdate();呢,调了后没有再找我!

㈦ java怎么添加数据到mysql数据库

导入数据库数据 和 链接到数据库 概念不一样 不知道楼主是要干什么

不管怎么样 都要下载JDBC驱动 不同的数据库有不同的地址 就不帖了

简单的 链接mysql 数据库 用API获取Connection 就算连接上了
至于怎么用API 网络一搜一堆

导入数据 eclipse 有数据库资源管理器 在DataBaseConnection 新建 填好参数 就可以获取数据了 没图我说个j8

㈧ java向MySQL插入数据问题

单引号问题!
如果字符串中有单引号最好用PreparedStatement

阅读全文

与java向mysql里插入数据相关的资料

热点内容
删除一个文件夹找不到了 浏览:654
电脑桌面文件管理哪个软件好 浏览:188
苹果数据线头歪了 浏览:135
ghostwin764位系统镜像文件 浏览:443
传感器视频教程下载 浏览:95
flash源文件贺卡下载 浏览:434
如何提高网络扶贫的效果 浏览:654
飞车软件文件夹叫什么 浏览:242
刷ec用什么编程器 浏览:765
方菱数控u盘文件格式 浏览:260
编程为什么输出两个变量 浏览:490
卫星大锅2017用升级吗 浏览:113
玉米win10系统下载 浏览:134
fgo技能升级减cd吗 浏览:129
什么记账app免费好用 浏览:441
网络检测可以检测到什么 浏览:504
sip协议教程 浏览:832
编程哪里可以接项目 浏览:119
孤岛惊魂win10 浏览:246
网络HRV是什么意思 浏览:918

友情链接