Mybatis-实现增删改查
来源:互联网 发布:java enum 指定值 编辑:程序博客网 时间:2024/05/21 11:03
通过Mybatis持久化框架实现对数据库表的增删改查的简单例子
(个人心得:我感觉学习一个框架可以先去了解它大致的运行流程,然后再去学习其填充的东西,这样更加容易理解而且在学的过程中也会联系起来。不然一开始就看框架的一些详细解释感觉好难懂)
StyleCategory实体类
package com.mybatis.entity;/** * @author lyx * * 2015-9-2下午7:07:57 * *com.mybatis.entity.StyleCategory * */public class StyleCategory {private int styleId;private String styleName;public int getStyleId() {return styleId;}public void setStyleId(int styleId) {this.styleId = styleId;}public String getStyleName() {return styleName;}public void setStyleName(String styleName) {this.styleName = styleName;}public StyleCategory(int styleId, String styleName) {super();this.styleId = styleId;this.styleName = styleName;}public StyleCategory(String styleName) {super();this.styleName = styleName;}public StyleCategory() {super();}}
styleMapper.xml (sql映射文件)
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.mybatis.entity.StyleMapper"><!-- sql标签 表示可以被其他语句复用的SQL块--><sql id="queryFields">styleId,styleName</sql><!-- --><resultMap type="StyleCategory" id="styleMap"><!-- 主键映射 --><id property="styleId" column="styleId" javaType="int" /><!-- 数据库字段到实体类属性的映射 --><result property="styleName" column="styleName"/></resultMap><!-- 根据style查询 --><select id="getStyleById" parameterType="int" resultType="StyleCategory" >select<include refid="queryFields"></include>from STYLE_CATEGORY where styleId=#{styleId}</select> <!-- 查询全部 --> <select id="queryAllInfo" resultType="StyleCategory" resultMap="styleMap">select * from STYLE_CATEGORY</select> <!-- 插入 --><!-- 如果使用的是表中自定义的主键就不需要的添加 useGeneratedKeys="true" 否则会报错:列名无效,Error getting generated key or setting result to parameter object--><!-- 设置是否使用JDBC的getGenereatedKeys方法获取主键并赋值到keyProperty设置的领域模型属性中。MySQL和SQLServer执行auto-generated key field,因此当数据库设置好自增长主键后,可通过JDBC的getGeneratedKeys方法获取。但像Oralce等不支持auto-generated key field的数据库就不能用这种方法获取主键了 --> <insert id="addStyleInfo" parameterType="StyleCategory" keyProperty="styleId"><!-- <selectKey resultType="StyleCategory" order="BEFORE" keyProperty="styleId"> select SEQUENCE_STYLECATEGORY.nextval as STYLEID from dual; </selectKey> -->insert into STYLE_CATEGORY (styleId,styleName) values (SEQUENCE_STYLECATEGORY.nextval,#{styleName})</insert><!-- 更新 --><update id="updateStyleInfo" parameterType="StyleCategory" >update STYLE_CATEGORY set styleName=#{styleName} where styleId=#{styleId}</update> <!-- 删除 --><delete id="deleteStyleInfoById" parameterType="int">delete from STYLE_CATEGORY where styleId =#{styleId}</delete> </mapper>
mybatis主配置文件
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><!-- 设置别名 --><!-- typeAliases标签 是写实体类的别名,写了之后可以在写类的映射文件例如<select>标签中的属性就可以不用写实体的具体路径直接用别名 --> <typeAliases><typeAlias type="com.mybatis.entity.StyleCategory" alias="StyleCategory"/></typeAliases> <!-- 数据库配置 --><environments default="development"><environment id="development"><transactionManager type="JDBC"></transactionManager><dataSource type="POOLED"><property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"></property><property name="driver" value="oracle.jdbc.driver.OracleDriver"></property><property name="username" value="lyx"></property><property name="password" value="lyx"></property> </dataSource></environment></environments><!-- 映射文件 --><mappers><mapper resource="mapper/styleMapper.xml"/></mappers> </configuration>
测试类
package test;import java.io.IOException;import java.io.Reader;import java.util.List;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import com.mybatis.entity.StyleCategory;public class MainTest {public static void main(String[] args) throws IOException{//读取配置文件Reader reader =Resources.getResourceAsReader("mybatis-config.xml");SqlSessionFactory sqlSession =new SqlSessionFactoryBuilder().build(reader);//打开session会话SqlSessionsession = sqlSession.openSession();//查询StyleCategory style = session.selectOne("com.mybatis.entity.StyleMapper.getStyleById",2);System.out.println("style:"+style.getStyleId()+","+style.getStyleName());//删除int deleteNum=session.delete("com.mybatis.entity.StyleMapper.deleteStyleInfoById",22);if(deleteNum>0){System.out.println( deleteNum +"删除成功!");}//更新StyleCategory updateStyle = new StyleCategory(2,"刘育新");int updateNum=session.update("com.mybatis.entity.StyleMapper.updateStyleInfo",updateStyle);if(updateNum>0){System.out.println( updateNum +"更新成功!");}//插入数据StyleCategory insertStyle = new StyleCategory("大中华");int insertNum =session.insert("com.mybatis.entity.StyleMapper.addStyleInfo",insertStyle);if(insertNum>0){System.out.println(insertNum+"插入成功");}//查询全部List<StyleCategory> list=session.selectList("com.mybatis.entity.StyleMapper.queryAllInfo");for (StyleCategory styleCategory : list) {System.out.println(styleCategory.getStyleId()+":"+styleCategory.getStyleName());}//提交session会话,否则操作数据库无效session.commit();}}
源代码下载:http://download.csdn.net/detail/u013147600/9074495
0 0
- Mybatis-实现增删改查
- MyBatis实现增删改查
- mybatis实现增删查改
- mybatis-springmvc+mybatis实现增删改查
- mybatis ---- 实现数据的增删改查
- mybatis实现的增删改查例子
- mybatis利用注解实现增删改查
- Mybatis基本应用实现增删改查
- Mybatis实现表单的增删改查
- Mybatis 实现共通的增删改查
- Spring+maven+mybatis 实现增删查改
- MyBatis实现数据的增删查改
- MyBatis使用注解实现增删改查
- Mybatis 注解实例实现增删改查
- MyBatis框架实现简单增删改查
- Mybatis实现数据的增删改查
- Mybatis实现简单的增删改查
- Mybatis 增删改查
- 初识JAVA
- dumpe2fs命令
- bzoj-3771 Triple
- xxd命令
- jsp如何调整默认编码
- Mybatis-实现增删改查
- 宗白华 我们
- 数据结构之---C语言实现散列表(哈希Hash表)
- CSS 参考手册
- CF_318_Div.2 Bear and Elections(二分||暴力枚举)
- 不要苛刻
- java中final static关键字用法
- jsp输入框传值的问题,做个记录
- sort命令