调用ibatis的DAO:
2008-9-23 15:43:09 org.apache.catalina.core.ApplicationContext log
信息: org.springframework.dao.DataIntegrityViolationException: SqlMapClient operation; SQL [];
--- The error occurred in com/miracle/dm/sysmgr/log/sqlmapxml/Log_SqlMap.xml.
--- The error occurred while applying a parameter map.
--- Check the insertLog-InlineParameterMap.
--- Check the statement (update failed).
--- Cause: java.sql.SQLException: 无法将 NULL 值插入列 'log_id',表 'mloa.dbo.tb_log';该列不允许空值。INSERT 失败。; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in com/miracle/dm/sysmgr/log/sqlmapxml/Log_SqlMap.xml.
--- The error occurred while applying a parameter map.
--- Check the insertLog-InlineParameterMap.
--- Check the statement (update failed).
--- Cause: java.sql.SQLException: 无法将 NULL 值插入列 'log_id',表 'mloa.dbo.tb_log';该列不允许空值。INSERT 失败。
调用hibernate的DAO:
Hibernate: insert into TB_LOG (LOG_TYPE, LOG_USERID, USER_NAME, LOG_TIME, MODULE_CODE, LOG_CONTENT, OPER_CODE, REMARK) values (?, ?, ?, ?, ?, ?, ?, ?)
[@APPNAME@] WARN [http-80-8] JDBCExceptionReporter.logExceptions(77) | SQL Error: 515, SQLState: 23000
[@APPNAME@] ERROR [http-80-8] JDBCExceptionReporter.logExceptions(78) | 无法将 NULL 值插入列 'log_id',表 'mloa.dbo.tb_log';该列不允许空值。INSERT 失败。
org.springframework.dao.DataIntegrityViolationException: could not insert: [com.miracle.dm.sysmgr.log.model.LogInfo]; nested exception is org.hibernate.exception.ConstraintViolationException: could not insert: [com.miracle.dm.sysmgr.log.model.LogInfo]
at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:628)
at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:408)
Log.hbm.xml中主键id的配置:
<id name="logId" column="LOG_ID">
<generator class="native"/>
</id>
按理说配置为native则会根据数据库自动帮你选择自增的类型,可为何还是报错?
直接采用查询分析器执行代码:
INSERT INTO TB_LOG (LOG_TYPE , LOG_USERID , USER_NAME , LOG_TIME , MODULE_CODE , LOG_CONTENT , OPER_CODE , REMARK ) VALUES ('DocumentAction' , '4212100010160', 'admin', '2008-09-23 15:43:09.156', 'Module1', 'admin用户新增文档ID_:547', 'ADD' ,'')
一样出现问题,显示结果:无法将 NULL 值插入列 'log_id',表 'mloa.dbo.tb_log';该列不允许空值。INSERT 失败。
修改sql语句,执行:
INSERT INTO TB_LOG (log_id,LOG_TYPE , LOG_USERID , USER_NAME , LOG_TIME , MODULE_CODE , LOG_CONTENT , OPER_CODE , REMARK ) VALUES ( 0, 'DocumentAction' , '4212100010160', 'admin', '2008-09-23 15:43:09.156', 'Module1', 'admin用户新增文档ID_:547', 'ADD' ,'')
显示结果:(所影响的行数为 1 行)
解决方法:
修改数据库中表的字段属性,注意默认值不要填,否则你无法设置标识为是,那么你将看到标识种子,标识递增量都显示为灰色。
“标识”选择为“是”,“标识种子”为1,“标识递增量”为1
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/foamflower/archive/2008/09/24/2972566.aspx
分享到:
相关推荐
java.sql.SQLException: null, message from server: “Host ‘223.72.41.7’ is not allowed to connect to this MySQL server” 客户端访问时报错: 解决方法: 1,登陆服务器 mysql> use mysql; //用mysql ...
private final static String URL = "jdbc:sqlserver://localhost:1433;DatabaseName=Test"; private static Connection conn = null; //获取连接对象 public static Connection getConn() { if (conn == null...
* 可滚动的 Statement 不能执行 SELECT MAX(ID) 之类的查询语句(SQLServer 2000) * * @param sql * 需要执行的 SQL * @return 记录总数 */ public int getAllCount(String sql) { try { Statement ...
//连接数据库的方法 public static Connection geconnection() { //这里可以设置... JOptionPane.showMessageDialog(null,"请检查sqlserver2000驱动"); e.printStackTrace(); } return con; }
null, null, null, null, null, '1', null, null, null, null, null, null, null, null, null, null, null, null)"); // db_manager.executeUpdate("insert into T_USER_ROLE values('test00"+i+"','sys_admin','...
private final static String URL="jdbc:sqlserver://localhost:1433;DatabaseName=personnelManage"; private final static String UNAME="sa"; private final static String UPWD="sasa"; public Connection ...
import java.sql.*; public class DataBaseConnection { static{ //2005 //String DBDRIVER="com.microsoft.jdbc.sqlserver.SQLServerDriver";//2000 } public static Connection getConn(){ String DBDRIVER=...
"jdbc:sqlserver://localhost:1433;"+ "databasename=test;user=accp;password=accp"; public static Connection getConnection(){ Connection conn = null; try { Class.forName(CLASSNAME); ...
使用技术:JSP+SERVLET+JAVABEAN + TOMCAT + SQLSERVER。 db.ConnectionManager 这是个数据库链接管理类 public class ConnectionManager { public ConnectionManager() { } public static Connection Getcon...
最后需要说的是笔者的调试上面程序的环境:WIN2000 , JDK1.3,MS SQLSERVER编辑软件:EDITPLUS 2.01a(这最后的东西可不是废话,虽然早就了一些专业的JAVA开发工具,但是笔者建议JAVA初学者使用文本软件开发JAVA程序...
private String url="jdbc:sqlserver://localhost:1433;DatabaseName=db_shopcar"; public DB(){ try{ Class.forName(driver); System.out.println("加载驱动成功"); }catch(ClassNotFoundException...
String url = "jdbc:sqlserver://localhost:1433;DatabaseName=jdbc"; String user = "sa"; String password = "sa"; String Driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"; Connection conn = null; try ...
下面介绍一下连接Sqlserver数据库。把连接Sqlserver数据库封装为一个方法,以便直接调用,而不需写重复代码。 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import ...
private String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=demo"; private String user="sa"; private String password=""; public String getDriverName() { return driverName; } ...
private final String url = "jdbc:jtds:sqlserver://192.168.100.91:1433/itzcgl"; private final String userName = "itzcgly"; private final String password = "itadmin#"; private Connection con = null;...
private static String dbUrl="jdbc:jtds:sqlserver://localhost:1433;DatabaseName=ShopSystem"; private static String dbUser="sa"; private static String dbPwd="sa"; //打开数据库连接 public static ...
public Connection getConnection() throws SQLException,InstantiationException,IllegalAccessException,ClassNotFoundException{ Connection conn = null; //加载数据库驱动 Class.forName(...
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";//建立连接字符串 Connection conn=DriverManager.getConnection(url,"sa","123");//建立连接 if(conn!=null) out.print(...
ConnectServer1.conn("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=xsgl","sa","")){ JOptionPane.showMessageDialog(null, "连接数据库失败"); System.exit(0);//关闭数据库 } new ...
//存放连接错误信息的变量 //数据库连接url String url = jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=DB_OBSS"; //JDBC数据源路径 //数据库连接对象 public static Connection dbConn; //初始化成员...