为了账号安全,请及时绑定邮箱和手机立即绑定

通过自动回复机器人学Mybatis---基础版

难度中级
时长 4小时30分
学习人数
综合评分9.73
430人评价 查看评价
9.9 内容实用
9.7 简洁易懂
9.6 逻辑清晰
  • Mybatis中的标签
    查看全部
    0 采集 收起 来源:常用标签

    2016-11-20

  • 1.在核心配置文件中指定要执行的sql配置文件的路径,使用<mappers>,可以添加多个sql映射文件,指定资源时,使用resource属性指定资源路径即可,这样程序会自动读取sql配置文件,并创建sqlSessionFactory。 2.配置messege.xml查询数据库(sql配置文件),如图: 执行sqlSession.selectList()方法时,通过配置文件中的select标签找到sql语句,执行数据库的查询,返回的结果通过select标签中resultMap这样的一个属性,去查找resultMap标签,然后按照resultMap中的标签中的配置完成java属性与数据库字段的对应。 mybatis的sql语句通过xml文件进行配置 sql的配置文件中的<mapper>标签的namespace要唯一,调用sql语句,eg:sqlSession.selectList("Messages.list");//namespace的名字点上语句的ID <resultMap type="" id="Message">//映射的是封装返回结果的bean,type是bean的全类名,id要唯一(resultMap中) <id column="ID" jdbcType="VARCHAR" property="id"></id> //主键使用,column对应的是数据的字段名,jdbcType对应的是数据字段的类型,property对应的是实体的属性名 <result ></result> //其他字段使用 </resultMap> 查询语句: <select id="list" resultMap="Message">sql语句</select> 写好的sql配置文件,可在mybatis的连接配置文件中引入: <mappers> <mapper resource="sql配置文件路径" ></mapper> </mappers> <mappers>中子标签<mapper>的resource属性也是从src根目录开始算起,“.”改为“/”;如果有多个<mapper>则需添加多个。
    查看全部
  • mybatis核心类sqlSession,获取的方法如下: public SqlSession getSqlSession() throws IOException { //通过配置文件获取数据库连接信息 Reader reader = Resources.getResourceAsReader("Configuration.xml"); //通过配置信息构建一个SqlSessiojnFactory SqlSessionFactory sf = new SqlSessionFactoryBuilder().build(reader); //通过sqlSessionFactory打开一个数据库会话 SqlSession sqlSession = sqlSessionFactory.openSession(); return sqlSession; }
    查看全部
  • SqlSession其实就是一次关于数据库的会话!<br> 每一个目录都是有它自己明确的含义,无规矩不成方圆,所以尽量的进行分层,这样子用户看代码也是比较省力的!<br> 写代码不写注释,这是非常不像话的!<br> mybatis的下载地址:https://github.com/mybatis/mybatis-3/releases 配置文件的详细路径:src/test/java/org/apache/ibatis/submiited/complex_property/Configuration.xml //通过配置文件获取数据库连接信息 Reader reader = Resources.getResourceAsReader("config/Configuration.xml"); //通过配置信息构建一个SqlSessionFactory SqlSessionFactory sqlSessionFactory = new SqlSessioFactoryBuilder.build(reader); //通过sqlSessionFactory打开一个数据库会话 SqlSession sqlSession = sqlSeesionFactory.openSession(); dao 层只是用来执行SQL语句,获取操作结果封装信息,返回结果,并不是用来加载驱动获取连接 如何分层,为什么要分层。一个servlet类包含了太多代码,把数据库相关表操作放到了dao层,把业务相关操作放到了service层,service层依赖dao层的对象,这里是直接new出来,如果采用spring框架,可以通过依赖注入dao的对象。servlet依赖service对象,一样是new的,不过这样分层不同功能的代码就分出去了。servlet作为一个控制类,基本做这几样事情:一些配置,例如设置编码,这部分重复工作可以通过过滤器统一处理。获取请求参数,当然也可以通过过滤器处理,这也是其他一些mvc框架,例如struts,springmv要做的数据绑定功能,然后是调用业务类处理业务,一个项目主要就是在写业务了。最后就是跳转页面。所以servlet应该只做控制的事情
    查看全部
  • MyBatis之SqlSession
    查看全部
  • Mybatis之SqlSession SqlSession的作用 (1)向 SQL 语句传入参数 (2)执行SQL语句 (3)获取执行SQL语句的结果 (4)事务的控制 //通过配置文件获取数据库连接信息 Reader reader=Resources.getResourceAsReaser("config/Configuration.xml"); //通过配置信息构建一个sqlSessinfactory SqlSessionFactory sqlSessionFactory=new SqlSessionfactoryBuilder(reader); //通过sqlSessionFactory打开一个数据库回话 SqlSession sqlsession=sqlSessionFactory.openSession(); 如何得到SqlSession:<br> (1)通过配置文件获取数据库连接相关信息<br> (2)通过配置信息构建SqlSessionFactory (3)通过SqlSessionFactory打开数据库回话
    查看全部
  • DAO层应该做的事是:执行SQL语句,获取操作结果封装信息,返回操作结果
    查看全部
  • Ps1:配置文件的详细路径:src/test/java/org/apache/ibatis/submiited/complex_property/Configuration.xml Ps2:小技巧:粘贴类名,再粘贴对象名,改大小写即可。 Ps3:顺序(从底层往高层):实体类-->Dao-->Service-->Servlet-->页面。 Ps4:数据库服务启动即可,无需登录数据库操作软件。 Ps5:Dao层一般与表(实体类)相关,命名一般在实体类名+“Dao”即可;Service层命名一般与Servlet命名对应。
    查看全部
  • protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //1、设置字符编码 req.setCharacterEncoding("UTF-8"); //2、接收页面的值 String command =req.getParameter("command"); String description =req.getParameter("description"); //3、向页面传值 req.setAttribute("command", command); req.setAttribute("description", description); //4、在这里引入service层(业务层),进行数据库的操作 ListService listService=new ListService(); //5、向页面传值,将查询到的结果传到页面 req.setAttribute("messageList", listService.queryMessageList(command, description)); //6、向页面跳转 req.getRequestDispatcher("/WEB-INF/jsp/back/list.jsp").forward(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub this.doGet(req, resp); } }
    查看全部
    0 采集 收起 来源:代码重构

    2018-03-22

  • Model: 数据表对应的模型; DAO:每个表对应一个DAO,对该表的一些操作。 Service:或Logic层,跟Servlet对应,一些相关的业务功能。 Servlet: 设置编码/过滤器;接受页面的值;向页面传值;业务需要调用service;跳转。 关于今天的出现的几个错误和学到的新知识: 1,jsp页面传值可以使用超链接形式为:地址?参数=要传的值! 2,servlet总采用request.getParameter("参数”)接收; 3,jdbc中对占位符?的复制采用setInt(index,参数)的方式index代表第几个?。 在Dao层中封装了与数据库有关的操作,在service层调用Dao层来处理业务逻辑,在servlet中调用service层中的对象来得到处理的结果,并且返回给页面 servlet的几个功能: 1.接受页面的值 2.向页面传值 3.根据业务需要,调用service 4.跳转页面 Model: 数据表对应的模型; DAO:每个表对应一个DAO,对该表的一些操作。 Service:或Logic层,跟Servlet对应,一些相关的业务功能。 Servlet: 设置编码/过滤器;接受页面的值;向页面传值;业务需要调用service;跳转。
    查看全部
    0 采集 收起 来源:代码重构

    2018-03-22

  • @关键代码(技巧): StringBuilder sql=new StringBuilder(" select ID,COMMAND,DESCRIPTION,CONTENT from message where 1=1 "); List<String> paramList=new ArrayList<String>(); if(command!=null&&!"".equals(command.trim())){ sql.append(" and COMMAND=? "); paramList.add(command); } if(description!=null&&!"".equals(description.trim())){ sql.append(" and DESCRIPTION like '%' ? '%' ");//MySql语法:'%'空格?空格'%' paramList.add(description); } PreparedStatement pstmt=conn.prepareStatement(sql.toString()); for(int i=0;i<paramList.size();i++){ pstmt.setString(i+1,paramList.get(i)); } ResultSet rs=pstmt.executeQuery(); 注意1:PreparedStatement语句要在sql语句还没准备好后面,但要在循环前面。 注意2:为何不直接在if语句后写“?”的内容呢?因为不知道问号序号是多少,不好控制。 Ps1:Tomcat启动一般用Debug,只要不要设置断点,效果与Run是一样的,这样一来,如果想调试就设置断点即可,不需要再切换到Debug模式(Ps:Debug模式下,修改Java代码会自动上传到服务器,无需重新启动Tomcat) Ps2:sql+="";//这样写不好,因为原来的字符串占用内存还在,推荐使用StringBuffer、StringBuilder。
    查看全部
    0 采集 收起 来源:列表查询

    2018-03-22

  • 三大集合取值
    查看全部
  • Mybatis中SQL的配置
    查看全部
  • Mybatis 的SqlSession对象
    查看全部
  • <c:forEach>标签中有个varSatus属性,可以通过其属性值获取到本次循环的状态,如其中的index可以获取循环的次数(从0开始),可配合if标签做隔行换色的效果
    查看全部
    0 采集 收起 来源:数据展示

    2018-03-22

举报

0/150
提交
取消
课程须知
各位小伙伴们需要有一定Java Web开发基础,至少需要掌握以下内容: 1、JSP、Servlet、JSTL、EL 2、JS/JQUERY 3、JDBC 如果你还是新人,建议先移步网站相关课程,在理解并掌握相关知识之后再回来进修
老师告诉你能学到什么?
1、 Mybatis 的下载与配置 2、 Mybatis 的基本功能应用 3、 融合 Mybatis 的一个完整小案例的实战 4、 Mybatis 的特征总结 5、 Mybatis 常见 QA

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!