Mybatis使用学习
2014-09-06 21:28
204 查看
一、使用步骤
1、(引入框架)下载相应的包并编写配置文件。
2、(使用框架)
定义相关的数据库操作接口;
在XMl文件中进行映射,用来实现对数据库的对应操作;
调用相关的接口,操作数据库;
二、实例(MyBatis+Mysql数据库)
1、下载Mybatis包:mybatis-3.3.0-SNAPSHOT.jar
Mysql数据库驱动包:mysql-connector-java-5.1.32-bin.jar
log包:log4j-1.2.17.jar
------新建Dynamic web project ,新建lib目录添加上面的包,并添加到Build Path下。
2、在src目录下,新建Xml文件,名字可为mybatis-config.xml:Mybatis 不能新建数据库,和表,所以需要提前简历好数据库和相应的表,这个例子中为Mybatis数据库,user表。
3、定义相关接口:这里为UserDao.java(定义相关的类User.java)
User.java类:
UserDao.java
5、在程序中使用:
步骤:获取SqlSessionFactory;
获取SqlSession
执行Sql语句
关闭Session
Mybatis工具类:MybatisUtil.java
测试结果:
网上有很多例子是结合junit使用的,而我没有采用这种方法,如果log4j.jar有警告信息,可上网搜相关的解决方法。
1、(引入框架)下载相应的包并编写配置文件。
2、(使用框架)
定义相关的数据库操作接口;
在XMl文件中进行映射,用来实现对数据库的对应操作;
调用相关的接口,操作数据库;
二、实例(MyBatis+Mysql数据库)
1、下载Mybatis包:mybatis-3.3.0-SNAPSHOT.jar
Mysql数据库驱动包:mysql-connector-java-5.1.32-bin.jar
log包:log4j-1.2.17.jar
------新建Dynamic web project ,新建lib目录添加上面的包,并添加到Build Path下。
2、在src目录下,新建Xml文件,名字可为mybatis-config.xml:Mybatis 不能新建数据库,和表,所以需要提前简历好数据库和相应的表,这个例子中为Mybatis数据库,user表。
<?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"></transactionManager> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis"/> <property name="username" value="root"/> <property name="password" value=""/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/mybatis/config/UserDaoMapper.xml"/> </mappers> </configuration>
3、定义相关接口:这里为UserDao.java(定义相关的类User.java)
User.java类:
package com.mybatis.config; public class User { private int userId; private String userName; private String password; private String comment; public int getUserId() { return userId; } public void setUserId(int userId) { this.userId = userId; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getComment() { return comment; } public void setComment(String comment) { this.comment = comment; } }
UserDao.java
package com.mybatis.config; import java.util.List; public interface UserDao { public int insert(User user); public int update(User user); public int delete(String userName); public List<User> selectAll(); public int countAll(); public User findByUserName(String userName); }4.在Xml文件中实现接口功能:UserDaoMapper.xml 并在Mybatis-confi.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="com.mybatis.config.UserDao"> <select id="countAll" resultType="int"> select count(*) c from user; </select> <select id="selectAll" resultType="com.mybatis.config.User"> select * from user order by userName asc </select> <insert id="insert" parameterType="com.mybatis.config.User"> insert into user(userName,password,comment) values(#{userName},#{password},#{comment}) </insert> <update id="update" parameterType="com.mybatis.config.User"> update user set userName=#{userName},password=#{password},comment=#{comment} where userName=#{userName} </update> <delete id="delete" parameterType="int"> delete from user where userName=#{userName} </delete> <select id="findByUserName" parameterType="String" resultType="com.mybatis.config.User"> select * from user where userName=#{userName} </select> </mapper>
5、在程序中使用:
步骤:获取SqlSessionFactory;
获取SqlSession
执行Sql语句
关闭Session
Mybatis工具类:MybatisUtil.java
package com.mybatis.config; import java.io.IOException; import java.io.Reader; 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.mysql.jdbc.interceptors.SessionAssociationInterceptor; public class MybatisUtil { private static String resource = "mybatis-config.xml"; private static SqlSessionFactory factory; static { try { Reader reader = Resources.getResourceAsReader(resource); SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); factory = builder.build(reader); } catch (IOException e) { System.out.println("初始化SqlSessionFactory失败!"); e.printStackTrace(); } } private static SqlSession session; /** * 获取SqlSession * @return */ public static SqlSession getSqlSession() { session = factory.openSession(); return session; } public static void closeSession(){ session.close(); } }
测试结果:
package com.mybatis.config; import java.util.Iterator; import java.util.List; public class TestMain { public static void main(String[] args) { User user=new User(); user.setUserId(100); user.setUserName("wngshipeng"); user.setPassword("sfasfasf"); user.setComment("啦啦啦德玛西亚"); UserDao userdao=MybatisUtil.getSqlSession().getMapper(UserDao.class); userdao.insert(user); List<User> users=userdao.selectAll(); Iterator<User> iter=users.iterator(); while(iter.hasNext()){ User u = iter.next(); System.out.println(u.getUserName()); } MybatisUtil.getSqlSession().commit(); MybatisUtil.closeSession(); } }
网上有很多例子是结合junit使用的,而我没有采用这种方法,如果log4j.jar有警告信息,可上网搜相关的解决方法。
相关文章推荐
- MyBatis学习3---使用SqlBuilder生成SQL语句
- 学习MyBatis从零开始_01(基础环境搭建以及基本使用)
- MyBatis学习4---使用MyBatis_Generator生成Dto、Dao、Mapping
- MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作
- MyBatis学习4---使用MyBatis_Generator生成Dto、Dao、Mapping
- MyBatis学习总结一 —— MyBatis的使用步骤及配置
- MyBatis学习系列九:MyBatis Generator 工具使用
- MyBatis学习4---使用MyBatis_Generator生成Dto、Dao、Mapping 分类: MyBatis JAVA开发杂谈 2013-06-04 16:30 17467人阅读 评论(
- MyBatis学习-使用SqlBuilder生成SQL语句
- Mybatis学习(七)mybatis中的SqlSession使用的范围
- mybatis学习-入门(1)-单独使用mybatis
- MyBatis学习4---使用MyBatis_Generator生成Dto、Dao、Mapping
- 2、MyBatis.NET学习笔记之CodeSmith使用
- 【mybatis学习】maven使用mybatis-generator工具
- MyBatis学习4---使用MyBatis_Generator生成Dto、Dao、Mapping
- MyBatis学习4---使用MyBatis_Generator生成Dto、Dao、Mapping
- 2、MyBatis.NET学习笔记-之CodeSmith使用
- C#使用mybatis学习笔记
- SpringMVC + Spring + MyBatis 学习笔记:在类和方法上都使用RequestMapping如何访问
- MyBatis学习4---使用MyBatis_Generator生成Dto、Dao、Mapping