- 浏览: 25966 次
- 性别:
- 来自: 杭州
文章分类
最新评论
最近查询看可以下mybatis,以前是跟spring集合在一块,根据mapperfactory直接注入,mybatis dao bean就可以直接使用了,还没存在什么问题,但是单独使用的话,最近有些问题和不同方式(都是简单实用,熟练使用的绕过)
第一种:
mybatis还是根据映射来匹配class和xml,所以mybatis中DAO还是和mapDAO.xml相互匹配,是通过属性namespace,这一点就像struts2中namespace对应的命名空间,表单里面的namespace属性,
再通过session.getMapper(class)名字要与namespoace一致,方能获取,但是这样获取有时候会遇到问题,就是不能将interface映射成功,这就要注意路径,最好写完整路径。
示例
mapper配置文件
mapper namespace="mybatis.test.Db_userinforDao">
<insert id="insert" parameterType="mybatis.test.Db_userinfor">
insert into db_userinfor
values(#{username},#{userpass},#{userinterest},#{useraddress},#{userphone},#{usergrades})
</insert>
DAO文件
public interface Db_userinforDao{
public void insert(Db_userinfor userinfor);
}
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>
<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/helper?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull" />
<property name="username" value="root" />
<property name="password" value="root" />
</dataSource>
</environment>
</environments>
<mappers><!--
<mapper resource="com/mybatis/config/UserDaoMapper.xml"/>
-->
<mapper resource="mybatis/test/UserDaoMapper.xml" />
</mappers>
</configuration>
</mapper>
测试main类
<?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/helper?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull" />
<property name="username" value="root" />
<property name="password" value="root" />
</dataSource>
</environment>
</environments>
<mappers><!--
<mapper resource="com/mybatis/config/UserDaoMapper.xml"/>
-->
<mapper resource="mybatis/test/UserDaoMapper.xml" />
</mappers>
</configuration>
第二种:
比较简单,就是不使用DAO接口,这时候namespace就随便取名字,直接使用session获取sql操作,比如session.insert("操作数据库的名字操作(命名空间+具体操作:userdao.insert)","参数"),这样的话非常直接,但是代码耦合度非常高,简单操作数据库是非常好的,但是碰到复杂一点的话,就不合理
main代码:
public static void main(String args[]) throws IOException{
Reader reader=Resources.getResourceAsReader("mybatis.xml");
SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
SqlSessionFactory factory=builder.build(reader);
BasicConfigurator.configure();
SqlSession session=factory.openSession();
//Db_userinforDao dao=session.getMapper(Db_userinforDao.class);
Db_userinfor userinfor=new Db_userinfor();
userinfor.setUsername("dsd");
userinfor.setUserpass("yaoge22");
userinfor.setUseraddress("www.");
userinfor.setUsergrades("50");
userinfor.setUserinterest("IT");
userinfor.setUserphone("122");
//不同操作
session.insert("mybatis.test.Db_userinforDao.insert",userinfor);
//dao.insert(userinfor);
session.commit();
session.close();
}
注明:博客主要用来整理,记录学些的知识,然后与网友相互交流,若有不对,请指出,但不要有不文明行为
第一种:
mybatis还是根据映射来匹配class和xml,所以mybatis中DAO还是和mapDAO.xml相互匹配,是通过属性namespace,这一点就像struts2中namespace对应的命名空间,表单里面的namespace属性,
再通过session.getMapper(class)名字要与namespoace一致,方能获取,但是这样获取有时候会遇到问题,就是不能将interface映射成功,这就要注意路径,最好写完整路径。
示例
mapper配置文件
mapper namespace="mybatis.test.Db_userinforDao">
<insert id="insert" parameterType="mybatis.test.Db_userinfor">
insert into db_userinfor
values(#{username},#{userpass},#{userinterest},#{useraddress},#{userphone},#{usergrades})
</insert>
DAO文件
public interface Db_userinforDao{
public void insert(Db_userinfor userinfor);
}
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>
<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/helper?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull" />
<property name="username" value="root" />
<property name="password" value="root" />
</dataSource>
</environment>
</environments>
<mappers><!--
<mapper resource="com/mybatis/config/UserDaoMapper.xml"/>
-->
<mapper resource="mybatis/test/UserDaoMapper.xml" />
</mappers>
</configuration>
</mapper>
测试main类
<?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/helper?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull" />
<property name="username" value="root" />
<property name="password" value="root" />
</dataSource>
</environment>
</environments>
<mappers><!--
<mapper resource="com/mybatis/config/UserDaoMapper.xml"/>
-->
<mapper resource="mybatis/test/UserDaoMapper.xml" />
</mappers>
</configuration>
第二种:
比较简单,就是不使用DAO接口,这时候namespace就随便取名字,直接使用session获取sql操作,比如session.insert("操作数据库的名字操作(命名空间+具体操作:userdao.insert)","参数"),这样的话非常直接,但是代码耦合度非常高,简单操作数据库是非常好的,但是碰到复杂一点的话,就不合理
main代码:
public static void main(String args[]) throws IOException{
Reader reader=Resources.getResourceAsReader("mybatis.xml");
SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
SqlSessionFactory factory=builder.build(reader);
BasicConfigurator.configure();
SqlSession session=factory.openSession();
//Db_userinforDao dao=session.getMapper(Db_userinforDao.class);
Db_userinfor userinfor=new Db_userinfor();
userinfor.setUsername("dsd");
userinfor.setUserpass("yaoge22");
userinfor.setUseraddress("www.");
userinfor.setUsergrades("50");
userinfor.setUserinterest("IT");
userinfor.setUserphone("122");
//不同操作
session.insert("mybatis.test.Db_userinforDao.insert",userinfor);
//dao.insert(userinfor);
session.commit();
session.close();
}
注明:博客主要用来整理,记录学些的知识,然后与网友相互交流,若有不对,请指出,但不要有不文明行为
发表评论
-
eclipse,maven,githup的安装与使用
2014-05-27 15:58 1054常见指令的使用 mvn install -Dmaven. ... -
HTTP CLIENT使用
2014-05-21 15:57 593基于客户端和安卓访问HTTP服务器 1.基本使用,简单访问 ... -
MINA框架使用
2014-05-21 15:56 23293简介: 3简介: Apache MINA 2 是一个开发 ... -
BONECP使用
2014-05-19 00:20 1622最近在使用数据库的一些操作,就顺便想仔细了解·一下JDBC连 ... -
encache框架使用
2014-04-29 21:14 1251收藏博文http://blog.sina.com.cn ... -
日志管理使用方法log4j
2014-04-29 19:44 539之前使用lo4j的日志管理,但是一直没有总结和记录下来,现在 ... -
JDK list简单解析
2014-04-19 15:07 647jdk中list接口继承与collection(放置一组元素 ... -
JDk Set,Queue简单说明
2014-04-19 15:06 633Set个人认为与Map没有多大区别,只是不能够存储重复元素和 ... -
Map简单解析
2014-04-17 15:40 8301.Map的使用以及效率问题 在使用map.entryse ... -
java线程池Executor简单学习与解析
2014-04-14 20:04 1348线程池与对象池的学习中,个人感觉线程池是将线程转移到内部一直在 ... -
common-pool简单解析
2014-04-13 18:25 999apache common-pool的简单解析,以来了解对 ... -
多线程竞争内部引用资源问题的一些解决办法(非并发)(线程之间相互调用)
2014-04-06 18:05 798相互线程之间需要穿插使用,即一个线程需要引用另一个线程的资 ... -
java程序简单优化
2014-03-17 15:04 735创建和销毁对象: 1.使用工厂模式 2b ... -
mybatis使用(3)
2013-12-03 13:08 729今天发现了一个奇葩的地方 mybatis的主键自动生成 ... -
mybatis中动态加载的应用(4)
2013-11-19 19:36 1235之前,对于数据 ... -
java web学习过程中一些问题
2013-11-13 20:21 3981.struts2的缓存问题以及实现原理 2.myb ... -
mybatis与spring整合的2个感受(3)
2013-11-13 17:12 486具体整合方式:参考博客(我都试了可行,写的比较好) ht ... -
mybatis配置简单用法(2)
2013-11-10 15:10 823这几天一直在看mybatis,觉得分为三个部分在 ...
相关推荐
MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 在Spring Boot项目中集成MyBatis,我们通常会创建一个`Mapper`接口,...
MyBatis DAO层自动生成插件是一个非常实用的工具,它极大地简化了开发过程中DAO(Data Access Object)层的编写工作。MyBatis是Java领域的一款流行持久层框架,它允许开发者将SQL语句直接写在XML配置文件中,使得...
这个压缩包文件"**MybatisGenerator**"提供了一个预先配置好的环境,使得用户只需进行简单的设置就可以直接运行。 1. **Mybatis-Generator简介** Mybatis-Generator是Mybatis框架的一个插件,能够根据数据库表结构...
MyBatis 通用DAO(Data Access Object)是一种设计模式,旨在提供一种标准的方式来访问数据库,减少重复代码,提高开发效率。在Java Web开发中,MyBatis作为一个优秀的持久层框架,它支持定制化SQL、存储过程以及...
### MyBatis 入门配置与 DAO 的两种开发方法 #### 一、JDBC 开发问题及 MyBatis 概览 ##### JDBC 开发常见问题 - **频繁创建与释放数据库连接**: 这可能导致资源浪费并影响系统性能。在企业级项目中,通常采用连接...
MyBatis可以使用简单的XML或注解来配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 2. **环境配置** 在开始之前,确保你已经安装了Java开发环境(JDK)、...
MyBatis是一个强大的Java持久层框架,它简化了与数据库交互的过程,允许开发者将SQL语句直接写在Mapper XML文件中,提供了DAO接口自动化生成工具,可以极大地提高开发效率。这个压缩包文件“generator”很可能包含了...
MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 Idea的Mybatis插件正是为了进一步优化MyBatis在Idea中的开发体验而设计...
MyBatis 可以使用简单的 XML 或注解进行配置和原始映射,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录。 在 MyBatis 中,DAO(Data Access Object)层是与数据库交互的...
4. **整合到项目中**:将生成的文件导入到项目中,配置MyBatis的SqlSessionFactory,然后就可以在业务逻辑中直接使用生成的DAO和POJO对象了。 MBG的灵活性体现在其高度可定制化,你可以自定义生成的类和XML文件的...
MyBatis Generator(MBG)是一款强大的自动化代码生成工具,专为MyBatis框架设计,能够自动生成DAO层、实体Bean以及Mapper XML文件,极大地提高了开发效率。在使用MBG时,用户只需要进行简单的配置,就可以自动生成...
MyBatis是一个强大的Java持久层框架,它提供了一种简单且高效的ORM解决方案,将SQL语句与Java对象直接绑定,避免了繁杂的JDBC代码和手动管理参数。MyBatis最初叫iBatis,由Clinton Begin创建,后来发展成为Apache...
MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 2. **逆向工程原理** MyBatis逆向工程是基于MyBatis Generator插件实现...
### MyBatis 详细使用讲解 #### 一、MyBatis 框架介绍与基本环境搭建 **1.1 MyBatis 框架简介** MyBatis 是一款非常流行的基于 SQL 的 ORM (对象关系映射) 框架,它由 Clinton Begin 在 2002 年创建,并在后续的...
MyBatis是一个流行的Java持久层框架,它允许开发者将SQL语句直接集成到Java代码中,从而提供了更灵活的数据访问方式。"mybatis-generic-dao-demo-generic" 是一个基于MyBatis的通用DAO项目的示例,它展示了如何利用...
MyBatis_Dao是基于MyBatis框架进行数据访问对象(DAO)开发的一种方式。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。...
MyBatis Generator 的安装非常简单,只需要在 pom.xml 文件中添加 MyBatis Generator 的依赖项即可。 安装:在 pom.xml 中设置 MyBatis Generator 插件: ``` <groupId>org.mybatis.generator <artifactId>...
本资源"mybatis简单使用"旨在帮助初学者快速掌握MyBatis的基础使用方法和配置。 一、MyBatis简介 MyBatis最初由Google Code托管,后迁移至GitHub,是Apache Software Foundation下的顶级项目。它摒弃了传统JDBC中的...
4. **注解式映射**:除了XML映射,MyBatis还支持注解方式,可以直接在DAO接口方法上使用注解定义SQL语句。 5. **MyBatis-Spring集成**:mybatis-spring库提供了一种方便地将MyBatis与Spring框架整合的方式,使得...
MyBatis-Spring是它们的整合模块,负责处理事务管理和Bean的注入,使得在Spring环境下使用MyBatis变得简单。 【MySQL】MySQL提供了强大的SQL支持,适合各种规模的项目。在Spring Boot中,通过JDBC或者JPA来与MySQL...