MyBites的使用,连接xml

来源:互联网 发布:分贝计软件 编辑:程序博客网 时间:2024/06/06 16:42

MyBites 主要是对数据的操作,操作数据库首先的写接口对其进行操作,首先新建一个Servlet,复写doGet,doPost方法,在doPost中添加数据,首先创建实体(这个就不写了),给实体添加数据

MyBitesStudio.java

String name=request.getParameter("users");//获得用户输入的数据        List<UserBean> list=userList();        if(name!=null){            for(int i=0;i<list.size();i++){                if(list.get(i).getName().equals(name)){                    list.remove(i);                }            }        }        request.setAttribute("users", list);//将数据添加,在jsp页面中显示    private List<UserBean> userList(){        List<UserBean> list=new ArrayList<>();        UserBean bean=new UserBean();        bean.setAge(1);        bean.setCreateTime(new Date().toString());        bean.setId(UUID.randomUUID().toString().replaceAll("-", ""));        bean.setName("张三");        bean.setSex("男");        list.add(bean);        UserBean bean1=new UserBean();        bean1.setAge(1);        bean1.setCreateTime(new Date().toString());        bean1.setId(UUID.randomUUID().toString().replaceAll("-", ""));        bean1.setName("李四");        bean1.setSex("女");        list.add(bean1);        UserBean bean2=new UserBean();        bean2.setAge(1);        bean2.setCreateTime(new Date().toString());        bean2.setId(UUID.randomUUID().toString().replaceAll("-", ""));        bean2.setName("哈哈");        bean2.setSex("啦");        list.add(bean2);        return list;    }这个只是静态添加数据下面是关联数据库之后的添加数据,这样就ok了String name=request.getParameter("users");//获得用户输入的数据List<UserBean> list=new ArrayList<>();if(name!=null){    UserBean bean=new UserBean();    bean.setName(name);    list.add(bean);}request.setAttribute("users", list);//将数据添加,在jsp页面中显示

index.jsp:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><table><!-- users是request里面的key啊 -->    <c:forEach items="${users}" var="user">        <tr>            <td>${ user.id}</td>            <td>${ user.name}</td>            <td>${ user.age}</td>            <td>${ user.sex}</td>            <td>${ user.createTime}</td>            <td><a                href="http://127.0.0.1:8080/test/MyBitesStudio?users=${ user.name}">                    删除 </a></td>         </tr>        </c:forEach>    </table>

第一步基本搞定,第二部连接数据库,新建mybatis-config.xml

<?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>  <environments default="development">    <environment id="development">      <transactionManager type="JDBC"/>      <dataSource type="POOLED">        <property name="driver" value="com.mysql.jdbc.Driver"/>        <property name="url" value="jdbc:mysql://localhost:3306/数据库名字"/>        <property name="username" value="用户名"/>        <property name="password" value="密码"/>      </dataSource>    </environment>  </environments>  <mappers>  <!-- 注册user_mapper.xml文件,       user_mapper.xml位于com/dou/study/config/mapper这个包下,所以resource写成com/dou/study/config/mapper/user_mapper.xml      user_mapper里面是sql语句-->    <mapper resource="com/dou/study/config/mapper/user_mapper.xml"/>  </mappers></configuration>

user_mapper.xml(新建Sql语句的xml)

<?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,namespace的值习惯上设置成包名+sql映射文件名,这样就能够保证namespace的值是唯一的     例如namespace="src.com.dou.study.mappers.user_mapper"就是src.com.dou.study.mappers(包名)+user_mapper(user_mapper.xml文件去除后缀) --><mapper namespace="com.dou.study.mappers.UserMapper">    <!-- 在select标签中编写查询的SQL语句, 设置select标签的id属性为finAll,id属性值必须是唯一的,不能够重复 使用parameterType属性指明查询时使用的参数类型,    resultType属性指明查询返回的结果集类型         resultType="com.dou.study.bean.UserBean"就表示将查询结果封装成一个User类的对象返回 User类就是users表所对应的实体类 -->    <!-- 根据id查询得到一个user对象 -->    <select id="finAll" resultType="com.dou.study.bean.UserBean">        select * from user    </select></mapper>

有一个mapper的xml,就新建一个Mapper的类,UserMapper.java,添加Sql执行

public List<UserBean> finAll() {        String resource = "com/dou/study/config/mybatis-config.xml";        //使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)        InputStream is;        SqlSession session = null ;        try {            is = Resources.getResourceAsStream(resource);            //构建sqlSession的工厂            SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);            //创建能执行映射文件中sql的sqlSession            session = sessionFactory.openSession();            /**             * 映射sql的标识字符串,             * com.dou.study.mappers.user_mapper是user_mapper.xml文件中mapper标签的namespace属性的值,             * getUser是select标签的id属性值,通过select标签的id属性值就可以找到要执行的SQL             */            String statement = "com.dou.study.mappers.UserMapper.finAll";//映射sql的标识字符串            //执行查询返回user对象的sql            List<UserBean> user =  session.selectList("com.dou.study.mappers.UserMapper.finAll", UserBean.class);            System.out.println(user.toString());            return user;        } catch (IOException e) {            e.printStackTrace();        }finally{            if(session!=null)                session.close();        }        return null;    }

测试结果如下,ok,大功告成
这里写图片描述

Sql语句写法参考

http://blog.csdn.net/bear_wr/article/details/52386257
原创粉丝点击