精华内容
下载资源
问答
  • (1)通过mybatis插入数据库插入数据,显示插入成功,查询数据库,发现并未插入成功。通过日志可看到原因:插入的语句回滚连接数据库了,导致插入失败。(2)应加入commit语句,手动执行提交事件,将数据提交到...

    (1)通过mybatis插入数据库,插入数据,显示插入成功,查询数据库,发现并未插入成功。通过日志可看到原因为:插入的语句回滚连接数据库了,导致插入失败。



    (2)应加入commit语句,手动执行提交事件,将数据提交到数据库中,才真正成功插入到数据库中。



    展开全文
  • mybatis增删改执行成功为何数据库数据数据没有改变? **今天小编练习mybatis对数据库进行增删改,明明代码都执行成功了,但是刷新数据库,竟然发现数据库数据没有任何的改变。可是代码也没有错误,各种逻辑也正确,...

    **

    mybatis增删改执行成功为何数据库数据数据没有改变?

    **今天小编练习mybatis对数据库进行增删改,明明代码都执行成功了,但是刷新数据库,竟然发现数据库数据没有任何的改变。可是代码也没有错误,各种逻辑也正确,这是为什么呢?
    最初执行代码如下:
    在这里插入图片描述
    最后输出结果是大于1的,为什么数据库数据没有发生任何的改变呢?
    原因是因为:
    因为mybatis是默认关闭了JDBC的自动提交功能的,因此在进行新增、删除修改的时候,要手动提交事务,才能使得表格改变。session.commiit()提交事务

    正确的执行代码应该如下:
    在这里插入图片描述

    最后希望我的错误能够带给大家一些帮助,和大家共同进步,感谢。

    展开全文
  • 问题描述: 执行save()方法成功但是没有插入数据库 问题分析: 1、需要加上@Transactional(rollbackFor = Exception.class)注解,才能插入成功

    问题描述:

    执行save()方法成功但是没有插入数据库

    问题分析:

    1、因为当前类加上了@Transactional(readOnly = true)注解导致,当前里面的所有修改数据库的操作不能生效。

    解决办法:

    (1)将当前类的@Transactional(readOnly = true)注解去掉,代表当前类的方法修改数据库操作可以生效。

    (2)在当前类的方法外面加上@Transactional(rollbackFor = Exception.class)注解,代表当前类除了加上@Transactional(rollbackFor = Exception.class)注解的方法修改数据库操作可以生效,但是当前类的其他方法修改数据库的操作不能生效。

    展开全文
  • //这里面有 连接数据库和定时的方法。 ... import java.sql.DriverManager; import java.sql.SQLException; import java.util.Calendar;...我想循环的数据是一个sql 语句而且能插入数据库但是不知道怎么操作
  • 向Access数据库插入数据 数据的几种情况 数据插入语句的书写 注意事项 数据的几种情况与语句的书写我个人认为在数据插入过程中,可以粗略地认为数据分为这三种情况: 图片 变量 具体值 大部分向Access数据库存储...

    近来在做一个项目,纯粹拿来练手学习的,其中涉及到了C#与Access数据库这一块,故将其记录下来,作为个人的成长记录。
    这篇文章主要有这几个小内容:

    • 向Access数据库插入数据
      • 数据的几种情况
      • 数据插入语句的书写
      • 注意事项

    数据的几种情况与语句的书写

    我个人认为在数据插入过程中,可以粗略地认为数据分为这三种情况:

    1. 图片
    2. 变量
    3. 具体值

    大部分向Access数据库存储图片都是以存流的方式,而这种方式的思路大致是这样的:将图片路径文件流的方式读取成二进制数值,然后再讲这些二进制数值以字符数组的方式保存到数据库中

    • 单条插入的情况下:

      • 图片的插入书写:
    FileStream fs = new FileStream(pbimage.ImageLocation, 
    FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
    BinaryReader bd = new BinaryReader(fs);
    byte[] buffer = bd.ReadBytes((int)fs.Length);
    string sql="insert into [表名] (字段1) values (@pic)";
    //插入时将字符数组作为参数传入,@表示这是一个参数,pic表示参数名
    com.CommandText=sql;
    com.Parameters.Add("@pic",OleDbType.Binary,(int)fs.Length);
    //将其添加到参数列表中,该方法的第一个参数代表要传入的参数名,第二个参数代表该参数的数据类型,第三个参数是文件流的长度,fs是自定义的文件流对象
    com["@pic"].Value=buffer;
    //设置该参数的值,buffer是自定义的字符数组对象
    
    • 变量的插入书写
      这里所谓的变量是指要插入字段对应的字段值变量,比如说,要把文本框的内容插入到Access数据库中
      string strtxt=this.textbox1.text;
    string sql="insert into [表名] (字段2) values ('"+strtxt+"')";
    //等价于这段代码:
    string sql="insert into [表名] (字段) values('"+this.textbox1.text+"')";
    
    • 具体值的插入书写
    //假设你要传进的某个字段值是某个具体值,其书写格式与上述相当
    //假设目前要插入该字段的值为100,则书写格式如此
    string sql="insert into [表名](字段3) values('100')";

    如果一条插入记录里需要插入这三种数据,根据上述则可得:

    string sql="insert into[表名](字段1,字段2,字段3) values("@pic",'"+this.textbox1.text+"','100');
    com.CommandText=sql;
    com.Parameters.Add("@pic",OleDbType.Binary,(int)fs.Length);
    • 多条数据插入的情况:
      在实际编程中,常常需要插入多条数据,比如要将DataGridView中的所有数据插入数据库中,而Access数据库又只能一次一条插入的时候,我们就需要学习如何将多条数据插入数据库中。这是我在插入变量时所用的方法:
    sql1 += "VALUES('" + smid + "'";
    sql1 += ",'" + user + "'";
    sql1 += ",'" + phonenumber + "'";
    sql1 += ",'" + DvRow.Cells[0].Value.ToString() + "'";
    sql1 += ",'" + point + "'";
    sql1 += ",'" + DvRow.Cells[3].Value.ToString() + "'";
    sql1+= "," + "@pic";
    sql1 += "," + DateTime.Now.Date.ToOADate() + ")";
    comm.CommandText = sql1;
    comm.Parameters.Add("@pic", OleDbType.Binary, (int)fs.Length);
    comm.Parameters["@pic"].Value = buffer;
    • 注意事项:
      ※出现无法执行com.ExecuteNonQuery()方法时,最好检查一下sql语句,可能存在这些问题:
      1.如果出现关键字,需要用[]将关键字括起来。假设字段1是该表的主键,那么sql语句应该这样书写:
    string sql="insert into[表名]([字段1],字段2,字段3) values("@pic",'"+this.textbox1.text+"','100')";

    2.注意表的括号:如果表名为中文,则可以不用[]号,但如果是英文,则必须要用[]将表名括起来:

    //表名为用户表
    string sql="insert into 用户表([字段1],字段2,字段3) values("@pic",'"+textbox1.text+"','100')";
    
    //表名为user
    string sql="insert into [user]([字段1],字段2,字段3) values("@pic",'"+textbox1.text+"','100')";

    ※:程序调试过程中出现该问题:在进行数据库操作(插入)过程中,系统提示该错误:由于将在索引、 主关键字、或关系中创建重复的值,请求对表的改变没有成功。 改变该字段中的或包含重复数据的字段中的数据,删除索引或重新定义索引以允许重复的值并再试一次。
    解决方案:重新设置表的主键。

    ※:出现某个文件正由另一进程使用,因此该进程无法访问该文件。
    解决方法:
    重新书写文件流的初始化:

    FileStream fs = new FileStream(pb.ImageLocation, FileMode.Open,FileAccess.Read,FileShare.ReadWrite);
    展开全文
  • Python向mysql数据库插入数据

    万次阅读 2017-03-13 20:04:19
    假设要插入的表结构如图所示: 一、向表test2中插入数据的主要流程如下:import MySQLdb import datetime'''连接数据库''' db = MySQLdb.connect(host = 'localhost',#本地数据库 user = 'root', #用户名
  • python 连接mysql数据库插入数据

    千次阅读 2019-07-06 10:20:58
    python 连接数据库插入数据的简单程序如下: import pymysql #建立数据库连接 db_conn=pymysql.connect(host="localhost",user="root",password="yxx",db="mydb",charset="utf8") #创建游标对象 cur=db_conn....
  • php向数据库插入数据出现乱码问题

    千次阅读 2015-05-11 16:36:21
    一般插入数据库数据乱码都是编码的问题,可以在插入数据库前查看下内容的编码方式,如果和数据库用的编码方式(如:utf-8)一样就执行插入操作,不一样就进行转码。 先判断你要插入数据库的文本的编码方式,是...
  • java代码显示正确执行,但为何数据成功插入数据库?原因如下 insert into records (uid,ke) values ('"+data[i][0]+"','"+sum[i]+"')" 当我在java里写上面代码时候,一直没有存进去数据库,控制台也不...
  • C#如何操作Oracle并向数据库插入数据

    万次阅读 2017-10-18 19:43:32
    今天在做一个功能,在C#中连接数据库并向数据库插入数据。现在总结起来很简单。 1、首先添加微软的DLL——System.Data.OracleClient.dll,注意这里可能会提示此DLL过时,别怕,继续引用,我就是栽在这里,转而用了...
  • 这类属于并发问题,简单说,就是同一条数据还没等插入进去就又执行了一遍插入,但是不能进行 并发环境下,向同一张表中插入多条数据(主键自增),如果锁表的话,其他的用户插入时等待一定时间会失败 可以采用以下...
  • 一直觉得自己的代码还算整齐,可是插入数据库一直不成功,能够返回insert_success的信息,但是数据苦中数据为空。我做了如下检查: 1. 将代码中的 INSERT INTO `cloudmedia`.`pc_customer` (`username`,`...
  • python向MySQL数据库插入数据

    千次阅读 2020-03-17 21:50:13
    %s,%s)" param=(23456,'lilei',20) #执行数据库插入 cursor.execute(sql,param) #提交 conn.commit() #关闭连接 conn.close() cursor.close() 二、通过python脚本向mysql数据库批量插入数据 这里记录两种批量插入...
  • 通俗点来讲就是主键会自动编号,在插入数据时,会自增,无需人为干预,其数据类型不带小数的数值类型, 主要包括decimal、int、numeric、smallint、bigint 、tinyint 如果一个表里没有标志列,执行如下查询操作时...
  • 数据库插入数据返回主键

    千次阅读 2017-12-26 12:19:28
    对于MYSQL数据库而言: 1.在mapper.xml文件写入:   <insert id="addNewUser" parameterType="com.jinju.entity.SysUser" useGeneratedKeys="true" keyProperty="...
  • 最近在做项目时需要连接数据库进行测试,于是需要先把Excel数据导入到数据库里面去,Python 操作sql server数据库的代码大致如下(操作mysql 代码和这个差不多,只是包和连接信息的不同,可以自行百度): ...
  • python的mysql数据库插入数据

    万次阅读 2017-11-22 11:26:56
    # 打开数据库连接 db = pymysql.connect("localhost","root","root","db_test01" ) # 使用cursor()方法获取操作游标 cursor = db.cursor() # SQL 插入语句 sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \
  • 一、查看主配置文件mybatis-config.xml是否开启事务管理,图片红色方框内就是开启事务管理 二、查看插入操作是否有commit操作,如果开启事务没有commit是不会插到数据库的 ...
  • 通过shell脚本向oracle数据库插入数据思路实现shell脚本数据文件测试 思路 如何通过shell脚本更新数据库数据?要解决这个问题,首先,我们需要在脑中回忆一下我们通常是如何更新数据库数据的。向表插入数据,无外乎这几...
  • 昨晚使用数据库的时候需要向库中插入大量测试数据,数据库使用的Mysql库,使用Dapper框架操作的数据库插入数据时不管开不开启事务,10W条数据耗时均17s左右,这个速度好像有点慢啊,考虑到自己是第一次使用...
  • java利用jdbc连接数据库插入数据

    万次阅读 多人点赞 2018-03-29 15:30:15
    使用PreparedStatement接口中的executeUpdate()方法数据库插入一条数据 前提: 具有一个数据库和一个列表(列表和数据库长啥样后面会说) 1:创建java project2:下载jar程序驱动包 官方下载地址: 我选择...
  • 使用mybatis插入数据数据库中,显示插入成功,且没有报错,但是数据库中并没有数据的原因 没有提交事务,有时没有配置自动提交事务的设置,所以需要手动提交事务,即 sqlSession.commit(); 如下所示示例: /** *...
  • C#连接mysql数据库后,获取插入数据的自增长主键ID值
  • java项目用Oracle数据库时,必须要ps=getCon().prepareStatement(sql);之后getCon().setAutoCommit(false)然后在result=ps.executeUpdate();之后getCon().commit() 虽然默认的是自动提交的,自动提交就会把你的SQL...
  • 解决php向mysql数据库插入数据乱码问题

    千次阅读 热门讨论 2016-07-25 13:40:49
    mysql数据库乱码问题解决办法我们在使用数据库(mysql)的时候最怕的就是数据库中的中文出现乱码,而且百度中除了更改配置文件中的字符集好像也没有其他建设性的方法,更重要的是这些方法我都一一尝试过了,好像并不...
  • 数据库插入数据时出现错误“将截断字符串或二进制数据”。 在网上找了下,是插入的数据超过了数据库中字段的长度,这个问题尤其是在插入中文时特别容易出现。 这个时候同学你应该把SQL语句给粘出来看看,...
  • 但是我用php直接给 $sql赋值INSERT INTO `ku_civilvn`( `geturl`, `title`, `IsVip`, `coin`, `money`) VALUES ('http://123.com.html','结构',1,10,5) 执行却能成功,请大神告知什么​ //$res = mysql_query( ...
  • 问题:mybatis中使用insert向数据库插入数据,操作成功但是数据库中没有数据。 原因:mybatis除select外,其他操作(insert,update...)默认不自动提交 解决方法:通过日志可以看出,事务没有进行提交,而是进行了...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 560,356
精华内容 224,142
关键字:

方法执行成功数据库插入数据为空