Spring Mvc那点事---(11)Spring Mvc之mybatis增删改查
2016-06-10 10:34
441 查看
数据库的基本操作就是增删改查,这一节我们演示下通过mybatis怎样操作数据库以及怎样在mybaits中配置SQL语句。我们知道,在mybaits中每个实体对象都对应一个Mapper文件,我们在mapper中配置好相关的增删改查语句,
接下来,我们看看怎么操作Mapper文件。
<property name="url" value="jdbc:mysql://localhost:3306/erp?useUnicode=true&characterEncoding=utf8" />
&代表&符号。
<?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="mapping.skusMapper"> <!-- 指定查询SQL, parameterType是传入参数类型,resultType是返回结果--> <select id="getSku" parameterType="int" resultType="dto.skus"> SELECT * FROM skus WHERE id=#{id} </select> <!-- 添加 --> <insert id="addSku" parameterType="dto.skus"> INSERT INTO skus (skuname,skucode) VALUES (#{SkuName},#{SkuCode}) </insert> <!-- 删除 --> <delete id="delSku" parameterType="java.lang.String"> DELETE FROM skus WHERE SkuCode=#{_parameter} </delete> <!-- 修改 --> <update id="updateSku" parameterType="dto.skus"> UPDATE skus SET skuname=#{SkuName} WHERE SkuCode=#{SkuCode} </update> <!-- 查询全部 --> <select id="getList" resultType="dto.skus"> SELECT Id,SkuName,SkuCode FROM skus </select> </mapper>以上包括基本的增删改查和查询集合。其中parameterType是传入的参数类型,resultType是返回的结果类型,注意当个查询和查询所有结果,resultType的值是一样的。
接下来,我们看看怎么操作Mapper文件。
@Controller @RequestMapping("/Home") public class HomeController { @Resource(name="applePhone") private IMobilePhone phone; @RequestMapping(value="index") public String Index() { String msg=phone.PhoneBrand(); System.out.print(msg); String resource = "/conf.xml"; //加载mybatis的配置文件 InputStream inputstream =this.getClass().getResourceAsStream(resource); SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputstream); SqlSession session = sessionFactory.openSession(); String statesql= "mapping.skusMapper.getSku";//在skusMapper.xml中有命名空间+方法名 skus sku = session.selectOne(statesql, 1); System.out.println(sku.getSkuName()); return "index"; } @RequestMapping(value="AddSku") public String AddSku() { String resource = "/conf.xml"; //加载mybatis的配置文件 InputStream inputstream =this.getClass().getResourceAsStream(resource); SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputstream); SqlSession session = sessionFactory.openSession(); String statesql= "mapping.skusMapper.addSku";//在skusMapper.xml中有命名空间+方法名 skus sku=new skus(); sku.setSkuName("黑色手表"); sku.setSkuCode("00002"); int result = session.insert(statesql,sku); session.commit(); session.close(); System.out.println(result); return "index"; } @RequestMapping(value="DelSku") public String DelSku() { String resource = "/conf.xml"; //加载mybatis的配置文件 InputStream inputstream =this.getClass().getResourceAsStream(resource); SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputstream); SqlSession session = sessionFactory.openSession(); String statesql= "mapping.skusMapper.delSku";//在skusMapper.xml中有命名空间+方法名 int result = session.delete(statesql,"00002"); session.commit(); session.close(); System.out.println(result); return "index"; } @RequestMapping(value="UpdateSku") public String UpdateSku() { String resource = "/conf.xml"; //加载mybatis的配置文件 InputStream inputstream =this.getClass().getResourceAsStream(resource); SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputstream); SqlSession session = sessionFactory.openSession(); String statesql= "mapping.skusMapper.updateSku";//在skusMapper.xml中有命名空间+方法名 skus sku=new skus(); sku.setSkuName("黑色手表男士款式"); sku.setSkuCode("00002"); int result = session.update(statesql, sku); session.commit(); session.close(); System.out.println(result); return "index"; } @RequestMapping(value="List") public String List() { String resource = "/conf.xml"; //加载mybatis的配置文件 InputStream inputstream =this.getClass().getResourceAsStream(resource); SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputstream); SqlSession session = sessionFactory.openSession(); String statesql= "mapping.skusMapper.getList";//在skusMapper.xml中有命名空间+方法名 java.util.List<skus> listResult= session.selectList(statesql); session.commit(); session.close(); for(dto.skus item:listResult) { System.out.print(item.getId()+"--"+item.getSkuCode()+"--"+item.getSkuName()); System.out.print("--------------"); } return "index"; } }上面的代码演示了具体的增删改查操作方法。注意一点,如果插入数据中的中文为乱码,要把数据库连接配置为utf8,如下
<property name="url" value="jdbc:mysql://localhost:3306/erp?useUnicode=true&characterEncoding=utf8" />
&代表&符号。
</pre><p> 表结构如下</p><p> <pre name="code" class="sql">CREATE TABLE `skus` ( `Id` int(11) NOT NULL AUTO_INCREMENT, `SkuName` varchar(50) DEFAULT NULL, `SkuCode` varchar(50) DEFAULT NULL, PRIMARY KEY (`Id`) ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树