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 966Spring 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 3108spring mvc处理方法支持如下的返回方式:ModelAn ... -
spring mvc常用注解@Component @Controller @Service @Repository
2014-03-13 16:10 9232注解用了之后,会在*.xml文件中大大减少配置量。以前我们每个 ... -
applicationContext.xml 配置文件在web.xml中的写法
2014-03-11 16:28 2819applicationContext.xml 配置文件的一些认 ... -
SpringMVC和Struts2的比较
2014-02-27 19:12 781通俗说Spring的作用 Spring ... -
Struts-config.xml配置文件《action-mappings》元素的详解
2014-02-26 13:12 2486action-mappings 该元素用于将Action元素定 ... -
使用Hibernate向mysql数据库中插入中文,数据库中显示??乱码
2014-02-24 23:02 1045[size=medium]通过网上学习,要求修改Hiberna ... -
在web.xml中通过contextConfigLocation配置spring
2014-02-24 21:19 2359在web.xml中通过contextConfigLocatio ... -
Struts-config.xml配置action-mappings元素略计
2014-02-24 16:58 669action-mappings 该元素用于将Action元素 ... -
Spring的DataAccessException略记
2013-07-08 19:23 2508Spring的DAO框架没有抛出 ... -
Result Type(Struts.xml配置)
2013-06-25 08:35 656一个提交到服务器的处理通常可以分为两个阶段: 第一个阶段查询服 ... -
ibatis常用标记略记
2013-06-23 21:12 1013isNull判断property字段是否是null,用isEm ... -
ibatis的iterate使用
2013-06-23 20:38 1116ibatis的iterate使用 Iterate:这属性遍历 ... -
Struts2 两个Action之间动态传参
2013-06-21 10:00 1091两个Action 动态传参数 研究了近两天的时间 ... -
spring入门之—第一步
2013-06-13 15:26 751注: 本文用的是spring-framework-3.1.1. ... -
Spring的ApplicationContext加载多个配置文件的三种方式
2013-06-13 15:09 18671.第一种,使用数组方式 ApplicationConte ... -
详解iBaits中SqlMapClientTemplate的使用
2013-06-05 16:07 0pache iBatis(现已迁至Google Code下发展 ... -
Struts2.0默认支持多种格式的result type
2013-06-05 16:00 896<action name="attachmen ... -
maven+ssi对oracle实现增删改查(二)
2013-06-05 12:06 12371.index.jsp访问项目默认页面 <%@ page ...
相关推荐
Ibatis与MySQL的结合,使得开发者能够方便地执行SQL查询,实现数据的增删改查操作。 整合这五个技术的关键在于配置。在Maven的pom.xml文件中,需要定义所有依赖项,确保所有组件的版本兼容。在Spring的配置文件中,...
本教程将带你逐步了解如何使用这两个工具进行数据库操作的增删改查(CRUD)功能实现。这里,我们有一个名为"ibatisDemo"的压缩包,其中包含了基于Maven构建的SpringMVC+iBatis项目实例和源代码。 **SpringMVC框架**...
这个实例将向我们展示如何使用这些技术实现一个基础的登录功能以及增删改查操作。下面,我们将深入探讨每个组件及其在整合过程中的作用。 1. **Struts2**: Struts2是一个基于MVC(Model-View-Controller)设计...
标题中的“S2S+ibatis一个增删改查的例子”指的是使用Struts2和iBatis框架实现的典型数据库操作应用。Struts2是一个基于MVC设计模式的Java Web框架,而iBatis则是一个SQL映射框架,用于简化数据库访问。这个例子将...
在这个"ibatis的增删改查"主题中,我们将深入探讨如何在不依赖MVC框架的情况下,利用Ibatis进行数据操作。 1. **Ibatis安装与配置** 首先,你需要将Ibatis的jar包添加到项目的类路径中,或者通过Maven或Gradle等...
-- 更多的增删改查操作 --> ``` 同时,需要创建对应的Mapper接口: ```java public interface UserMapper { void insertUser(User user); // 其他方法 } ``` 在Service层,我们可以使用SqlSession来执行SQL...
在这个"Ibatis的简单例子"中,我们将探讨如何使用Ibatis进行数据库的增删改查(CRUD)操作以及联合查询。 1. **安装与配置**: 在开始之前,你需要在项目中添加Ibatis的依赖,通常是通过Maven或Gradle。在Maven的`...
3. **Ibatis**:Ibatis是一个SQL映射框架,它允许开发者编写动态SQL并与数据库进行交互。与传统的JDBC相比,Ibatis提供了更简单的方式来处理SQL查询和结果集映射,从而减少了代码量并提高了可维护性。 4. **jQuery*...
通过以上步骤,我们就完成了SSM框架下的数据库增删改查操作。当用户向 `/users/{id}` 发起GET请求时,会调用`getUser`方法获取指定ID的用户;POST请求用于创建新用户;PUT请求更新指定ID的用户信息;DELETE请求删除...
在这个项目中,iBatis用于处理与MySQL数据库的交互,包括数据的增删改查和事务管理。 MySQL是流行的开源关系型数据库管理系统,以其高效、稳定和易于使用著称。在本项目中,`sql`文件很可能是数据库的初始化脚本,...
**Ibatis 增删改查详解** Ibatis 是一款优秀的、开源的 ...通过以上步骤,你可以快速掌握 Ibatis 的基本用法,实现数据库的增删改查操作。对于初学者而言,理解并实践这些知识点将为你的 Java 开发之路打下坚实基础。
在本教程中,我们将深入探讨如何使用 Ibatis 连接 SQL Server 2005 数据库,并执行基本的增删改查(CRUD)操作。 首先,我们需要在项目中引入 Ibatis 的依赖。通常,这可以通过 Maven 或者 Gradle 进行管理。在 ...
iBatis 是一款轻量级的Java持久层框架,它主要负责数据库的增删改查(CRUD)操作。在本教程中,我们将探讨如何利用iBatis进行基本的数据库操作,包括配置、映射文件、SQL语句的编写以及Java代码的实现。 **一、...
5. **增删改查(CRUD)**:CRUD是数据库操作的基础,涉及创建新记录、读取现有记录、更新记录和删除记录。在本项目中,每个操作都对应一个Controller方法,如UserController可能包含`createUser()`, `readUser()`, `...
通过AJAX技术,EasyUI可以与后台进行异步通信,动态加载数据,实现数据的增删改查等功能。 在集成这四个组件时,首先我们需要在pom.xml文件中添加相应的依赖,然后创建项目的目录结构,包括src/main/resources下的...
Ibatis通过XML配置文件或注解来定义SQL语句,与Spring集成后,可以在Spring管理的Bean中直接调用这些SQL,实现数据的增删改查。 **集成过程** 1. **配置环境**:创建一个Maven项目,添加Spring、SpringMVC、Ibatis...
6. **DAO层**:使用iBatis提供的SqlSession接口,通过Mapper接口执行SQL语句,实现数据的增删改查。 7. **视图渲染**:Action类执行完业务逻辑后,通过结果映射返回视图。Struts2会根据结果名称找到相应的JSP或...
它摒弃了传统的Hibernate等ORM(对象关系映射)框架的复杂性,以一种简单直观的方式实现了数据的增删改查。Ibatis的特性包括易于学习、配置简洁以及SQL定制性强,这些特点使其成为初学者和项目中的理想选择。 **...
本学习资料针对 Ibatis 的基本操作,包括增、删、改、查四大核心功能提供了详尽的实例,非常适合初学者入门和提高。 1. **Ibatis 概述** Ibatis 是 MyBatis 的前身,它是一个基于 Java 的数据访问框架,用于简化 ...
基于K8S + apisix/istio 实现云原生微服务.springrain自带代码生成器,能够生成对表的增删改查的逻辑代码.springrain是标准Maven项目,只依赖springboot,没有hibernate,struts,ibatis,数据库调优可以使用druid输出慢...