gpt4 book ai didi

mysql - 在mysql数据库中使用ibatis添加新人

转载 作者:行者123 更新时间:2023-11-29 23:01:14 24 4
gpt4 key购买 nike

我想在 j2EE 应用程序中使用 ibatis 在数据库中添加人员。我在 mySQL、servlet、SqlMapConfix.xml、Person.xml 和 Person.java 中有一个表 person。我做了很多测试,但我遇到了同样的错误。

java.lang.RuntimeException:发生错误。原因:com.ibatis.common.xml.NodeletException:解析 XML 时出错。原因:java.lang.RuntimeException:解析 XPath '/sqlMapConfig/sqlMap' 时出错。原因:java.io.IOException:找不到资源配置/Person.xml

这里是代码:索引.html

<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
</head>
<body>
<form action="Controller" >
<input type="text" name="nom">
<input type="text" name="pren">
<input type="submit" value="ok">
</form>
</body>

servlet:Controller.java

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String a = request.getParameter("nom");
String b = request.getParameter("pren");

try{

Reader rd;
rd = Resources.getResourceAsReader("config/SqlMapConfig.xml");


SqlMapClient smc;
smc = SqlMapClientBuilder.buildSqlMapClient(rd);
out.println("Going to insert record.....");
Person em = new Person(a, b);

smc.insert("Person.insert", em);

out.println("Record Inserted Successfully ");

}catch(SQLException e)
{e.printStackTrace();}

}

Person.java

package controleur;

public class Person {
String nom,prenom;

public Person(String nom, String prenom) {
this.nom = nom;
this.prenom = prenom;
}

public String getNom() {
return nom;
}

public void setNom(String nom) {
this.nom = nom;
}

public String getPrenom() {
return prenom;
}

public void setPrenom(String prenom) {
this.prenom = prenom;
}

}

Person.xml

   <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//ibis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">

<sqlMap namespace="Person">
<insert id="insert" parameterClass="controleur.Person" >
insert into person(nom, pren)values(#nom#, #prenom#)
</insert>
</sqlMap>

SqlMapConfig.xml

 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">

<settings useStatementNamespaces="true"></settings>
<transactionManager type="JDBC">
<dataSource type="simple">
<property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/>
<property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost:3306/parc"/>
<property name="JDBC.Username" value="root"/>
<property name="JDBC.Password" value=""/>
</dataSource>
</transactionManager>
<sqlMap resource="config/Person.xml "/>

我使用了两个包:config包包含*.xml文件,controleur包包含servlet和java类。谢谢

最佳答案

将 xml 文件移动到 Pojo 所在的位置,在您的示例中将其移动到 Person.java 所在的 controleur 包下,然后按如下方式更新 sqlMap。

<sqlMap resource="controleur/Person.xml" />

关于mysql - 在mysql数据库中使用ibatis添加新人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28481194/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com