maven+ibatis实现增删改查,模糊查询等
新建一个maven项目略
1. Pox.xml配置 (前提是你的jar包服务器有这些jar包)
2. sqlmap-config.xml配置
3.实体映射类的配置(ibatis操作数据库表的文件)
4. 配置实体类(类中的属性与表中的字段对应)
5.写一个接口(用于保存对实体类的一些操作如增删改查等…)
6.对接口中方法的实现(测试并把结果输出到控制台):
新建一个maven项目略
1. Pox.xml配置 (前提是你的jar包服务器有这些jar包)
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>apl.com.test</groupId> <artifactId>ssi2</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>ssi2 Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>org.apache.ibatis</groupId> <artifactId>ibatis-core</artifactId> <version>3.0</version> </dependency> <dependency> <groupId>oracle.jdbc.driver</groupId> <artifactId>ojdbc14</artifactId> <version>10.1.0.5</version> </dependency> <dependency> <groupId>org.apache.ibatis</groupId> <artifactId>ibatis-sqlmap</artifactId> <version>3.0-beta-9</version> </dependency> <dependency> <groupId>org.apache.servicemix.bundles</groupId> <artifactId>org.apache.servicemix.bundles.ibatis-sqlmap</artifactId> <version>2.3.4.726_3</version> </dependency> </dependencies> <build> <finalName>ssi2</finalName> </build> </project>
2. sqlmap-config.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"> <sqlMapConfig> <settings useStatementNamespaces="true"/> <transactionManager type="JDBC"> <dataSource type="SIMPLE"> <property name="JDBC.Driver" value="oracle.jdbc.driver.OracleDriver"/> <property name="JDBC.ConnectionURL" value="jdbc:oracle:thin:@192.168.1.196:1521:ORCL"/> <property name="JDBC.Username" value="smsserver"/> <property name="JDBC.Password" value="zjapl"/> </dataSource> </transactionManager> <sqlMap resource="com/zjapl/daomain/User.xml" /> </sqlMapConfig>
3.实体映射类的配置(ibatis操作数据库表的文件)
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"> <sqlMap namespace="User"> <resultMap class="com.zjapl.Student" id="StudentResult"> <result property="id" column="ID" /> <result property="text" column="TEXT"/> <result property="reeee" column="REEEE"/> <result property="sysname" column="SYSNAME"/> <result property="sysnumber" column="SYSNUMBER"/> </resultMap> <typeAlias alias="Student" type="com.zjapl.Student"></typeAlias> <select id="SelectAllStudent" resultMap="StudentResult"> SELECT * FROM TEST_TTT </select> <select id="queryStudentById" parameterClass="int" resultMap="StudentResult"> SELECT * FROM TEST_TTT where id = #id# </select> <insert id="addStudent" parameterClass="Student"> insert into TEST_TTT(id,text,reeee,sysname,sysnumber) values(#id#,#text#,#reeee#,#sysname#,#sysnumber#) </insert> <delete id="deleteStudent" parameterClass="int"> delete TEST_TTT where id = #id# </delete> <update id="updateStudentById" parameterClass="Student"> update TEST_TTT set text=#text#, reeee=#reeee#, sysname=#sysname#, sysnumber=#sysnumber# where id=#id# </update> <select id="queryStudentByName" parameterClass="String" resultClass="Student"> select * from TEST_TTT where sysname like '%$sysname$%' </select> <insert id="addStudentBySequence" parameterClass="Student" > <selectKey resultClass="int" keyProperty="id"> select test_tttpkseq.nextVal from dual </selectKey> insert into TEST_TTT(id,text,reeee,sysname,sysnumber) values (#id#,#text#,#reeee#,#sysname#,#sysnumber#) </insert> </sqlMap>
4. 配置实体类(类中的属性与表中的字段对应)
public class Student { private int id; /**测试内容*/ private String text; /**备注信息*/ private String reeee; /**测试发送内容的单位名称*/ private String sysname; /**测试发送内容单位的编号*/ private String sysnumber; public Student() { } public Student(int id, String text, String reeee, String sysname, String sysnumber) { super(); this.id = id; this.text = text; this.reeee = reeee; this.sysname = sysname; this.sysnumber = sysnumber; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getText() { return text; } public void setText(String text) { this.text = text; } public String getReeee() { return reeee; } public void setReeee(String reeee) { this.reeee = reeee; } public String getSysname() { return sysname; } public void setSysname(String sysname) { this.sysname = sysname; } public String getSysnumber() { return sysnumber; } public void setSysnumber(String sysnumber) { this.sysnumber = sysnumber; } @Override public String toString() { String content ="tid="+id+"\text="+text+"\reeee="+reeee+"\name="+sysname+"\number="+sysnumber; return content; } }
5.写一个接口(用于保存对实体类的一些操作如增删改查等…)
import java.util.List; public interface IStudentDao { public void addStudent(Student student); public void addStudentBySequence(Student studetn); public void deleteStudent(int id); public void updateStudentById(Student student); public List<Student> queryAllStudetn(); public List<Student> queryStudentByName(String sysname); public Student queryStudentById(int id); }
6.对接口中方法的实现(测试并把结果输出到控制台):
import java.io.IOException; import java.io.Reader; import java.sql.SQLException; import java.util.List; import org.apache.ibatis.io.Resources; import com.ibatis.sqlmap.client.SqlMapClient; import com.ibatis.sqlmap.client.SqlMapClientBuilder; public class StudentDaoImpl implements IStudentDao{ //读取实体配置文件 private static SqlMapClient sqlMapClient = null; static { try { Reader reader = Resources.getResourceAsReader("com/zjapl/sqlmap-config.xml"); //sqlMapClient = sqlMapClient.buildSqlMapClient(reader); sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader); reader.close(); } catch (IOException e) { e.printStackTrace(); } } public void addStudent(Student student) { try { sqlMapClient.insert("User.addStudent", student); } catch (SQLException e) { e.printStackTrace(); } } public void addStudentBySequence(Student student) { try { sqlMapClient.insert("User.addStudentBySequence", student); System.out.println("id="+student.getId()); } catch (SQLException e) { e.printStackTrace(); } } public void deleteStudent(int id) { try { System.out.println(sqlMapClient.delete("User.deleteStudent", id)); } catch (SQLException e) { e.printStackTrace(); } } public void updateStudentById(Student student) { try { System.out.println(sqlMapClient.update("User.updateStudentById", student)); } catch (SQLException e) { e.printStackTrace(); } } public List<Student> queryAllStudetn() { List<Student> studentList = null; try { studentList = sqlMapClient.queryForList("User.SelectAllStudent"); } catch (SQLException e) { e.printStackTrace(); } return studentList; } public List<Student> queryStudentByName(String sysname) { List<Student> studentList = null ; try { studentList = sqlMapClient.queryForList("User.queryStudentByName", sysname); } catch (SQLException e) { e.printStackTrace(); } return studentList; } public Student queryStudentById(int id) { Student student = null; try { student = (Student) sqlMapClient.queryForObject("User.queryStudentById",id); } catch (SQLException e) { e.printStackTrace(); } return student; } /** * @param args */ public static void main(String[] args) { StudentDaoImpl dao = new StudentDaoImpl(); //3.添加一条记录 // Student student = new Student(); // student.setId(9); // student.setText("添加内容测试ibatis_StudetnDaoImpl"); // student.setReeee("就是简单备注"); // student.setSysname("张三系统"); // student.setSysnumber("3232323"); // dao.addStudent(student); //2.查询一个用户 // System.out.println(dao.queryStudentById(4)); //1.查询所有用户 for(Student student:dao.queryAllStudetn()) { System.out.println(student); } /* try { Class.forName("com.zjapl.Student").newInstance(); } catch (Exception e) { e.printStackTrace(); }*/ //4删除一个用户 // dao.deleteStudent(9); //5.更新一位用户 // Student student = new Student(); // student.setId(9); // student.setText("更新测试ibatis_StudetnDaoImpl"); // student.setReeee("更新"); // student.setSysname("李四系统"); // student.setSysnumber("789432"); // dao.updateStudentById(student); //6.模糊查询按名称 // for (Student studentList:dao.queryStudentByName("杭")) { // System.out.println(studentList); // } //7.id序列后,插入一条记录 // Student student = new Student(); // student.setId(9); //序列化后这里的设置没有作用。 // student.setText("oracle序列添加测试ibatis_StudetnDaoImpl"); // student.setReeee("seq测试"); // student.setSysname("sequense系统"); // student.setSysnumber("34654543"); // dao.addStudentBySequence(student); } }
发表评论
-
Spring MVC Controller单例陷阱
2014-09-12 10:01 929Spring MVC Controller默认是单例的: 单 ... -
Spring MVC模型(Model)层和视图(View)层
2014-04-20 18:57 0Spring MCV中Model层是View层的数据容器,Js ... -
springMVC 返回类型选择 以及 SpringMVC中model,modelMap.request,session取值顺序
2014-04-20 18:52 3070spring mvc处理方法支持如下的返回方式:ModelAn ... -
spring mvc常用注解@Component @Controller @Service @Repository
2014-03-13 16:10 9182注解用了之后,会在*.xml文件中大大减少配置量。以前我们每个 ... -
applicationContext.xml 配置文件在web.xml中的写法
2014-03-11 16:28 2794applicationContext.xml 配置文件的一些认 ... -
SpringMVC和Struts2的比较
2014-02-27 19:12 748通俗说Spring的作用 Spring ... -
Struts-config.xml配置文件《action-mappings》元素的详解
2014-02-26 13:12 2452action-mappings 该元素用于将Action元素定 ... -
使用Hibernate向mysql数据库中插入中文,数据库中显示??乱码
2014-02-24 23:02 1015[size=medium]通过网上学习,要求修改Hiberna ... -
在web.xml中通过contextConfigLocation配置spring
2014-02-24 21:19 2319在web.xml中通过contextConfigLocatio ... -
Struts-config.xml配置action-mappings元素略计
2014-02-24 16:58 638action-mappings 该元素用于将Action元素 ... -
Spring的DataAccessException略记
2013-07-08 19:23 2462Spring的DAO框架没有抛出 ... -
Result Type(Struts.xml配置)
2013-06-25 08:35 626一个提交到服务器的处理通常可以分为两个阶段: 第一个阶段查询服 ... -
ibatis常用标记略记
2013-06-23 21:12 974isNull判断property字段是否是null,用isEm ... -
ibatis的iterate使用
2013-06-23 20:38 1090ibatis的iterate使用 Iterate:这属性遍历 ... -
Struts2 两个Action之间动态传参
2013-06-21 10:00 1050两个Action 动态传参数 研究了近两天的时间 ... -
spring入门之—第一步
2013-06-13 15:26 725注: 本文用的是spring-framework-3.1.1. ... -
Spring的ApplicationContext加载多个配置文件的三种方式
2013-06-13 15:09 18331.第一种,使用数组方式 ApplicationConte ... -
详解iBaits中SqlMapClientTemplate的使用
2013-06-05 16:07 0pache iBatis(现已迁至Google Code下发展 ... -
Struts2.0默认支持多种格式的result type
2013-06-05 16:00 861<action name="attachmen ... -
maven+ssi对oracle实现增删改查(二)
2013-06-05 12:06 12011.index.jsp访问项目默认页面 <%@ page ...
相关推荐
Maven+spring+ struts2+ Ibatis+mysql整合增删改查
Maven + Spring +Mysql实现简单增删改查及用户登录,适合初学者。
Spring Boot+MySQL+Mybatis+Maven+IDEA,一个简单的数据库增删改查项目
spring mvc + mybatis + maven + easyui + oracle 数据库实现增删改查
SpringBoot整合MyBatis实现MySQL数据库表增删改查。需使用Maven项目,搭建本地仓库。
spring mvc + mybatis + maven + easyui + oracle 数据库实现增删改查;有任何不懂的技术问题都可以联系我共同讨论
IntelliJ IDEA下SpringBoot+Maven+JPA+Thymeleaf整合实现增删改查及分页入门项目实例.zip
Java - SpringMVC+iBatis maven工程项目增删改查实例入门+源码
本项目使用Maven+SpringBoot+springDataJPA,实现单表的增删改查
使用springmvc+maven做简单的网页增删改查,适合小白借鉴。
项目已实地运行,只需要修改本地数据库url和根据实体类创建对应的表就可以运行,另表数据不能有null值,否则会运行报错。
注意添加数据时候需要按数据库格式添加数据不然会报错
IDEA+MAVEN基于ssm框架的数据库增删查改以及用户登录 详情可见博文:https://blog.csdn.net/weixin_42493072/article/details/94403204 开发工具:IntelliJ IDEA 2018、JDK1.8、tomcat 7.0.79、Mysql 5.0、Maven ...
数据库部分:创建表、增删改查语句的书写等。 前端部分:HTML、CSS、jQuery、JavaScript等。 编码顺序 添加项目需要使用的各种jar包 HTML 页面表单的编写 Apache方法的DBUtils编写 实体类的数据初始化(添加私有...
maven、spring、spring mvc、mybatis 整合实现ssm通用增删改查基础开发框架.maven、spring、spring mvc、mybatis 整合实现ssm通用增删改查基础开发框架.maven、spring、spring mvc、mybatis 整合实现ssm通用增删改查...
Maven+Spring+SpringMVC+Hibernate实现增删改查的一个小例子。工具是:Eclipse
基于maven+springmvc+spring+mybatis对员工信息的增删改查示例,采用mbg对mapper和bean实现逆向生成,IDEA,jdk1.8
idea创建的maven项目,hibernate实现数据持久化,springmvc实现数据控制,适合新手学习,也可以用作初学idea的同学的参考。另附数据库。 idea创建的maven项目,hibernate实现数据持久化,springmvc实现数据控制,...
本人自己写的框架实例,希望对大家有帮助。下载后,直接加压,导入eclipse的maven工程中,update maven后就可以运行了,解压的文件中有数据库的sql文件