Mybatis3.2.3+mysql第一个例子(入门) | (转)
2014-03-09 10:37
555 查看
Mybatis3.2.3+mysql第一个例子(入门)
10-15mybatis
罗生沙 525 views
Mybatis3.2.3+mysql第一个例子(入门)
10-15 525 views每当我们接触到一个新的框架时,很多人会选择把所有的文档读完,把别人的视频看完(以前我也一样),但是当你把所有的东西(文档、视频)都看完后来做第一个例子,发现你根本就无从下手,效率非常低下。我现在的做法是先到官网看搭建框架的五分钟教程,把框架先搭起来,运行第一个例子,希望看到这边的文章的童鞋们也采用这套做法,不要再继续做无用功了。
Mybatis3.2.3下载:http://code.google.com/p/mybatis/downloads/list?can=3&q=Product%3DMyBatis
官方中文文档:http://mybatis.github.io/mybatis-3/zh/index.html
下面我们来运行第一个mybatis3.2.3例子:
1、jdk、tomcat(或者其他web容器),必需的。
2、创建一个web项目
3、解压mybatis3.2.3.zip文件,把mybatis-3.2.3.jar和lib目录下的所有jar包复制到WEB-INF/lib
4、复制mysql-connector-java-5.1.14.jar到WEB-INF/lib
5、在mysql创建一个mybatis数据库,新建一个user表,里面有id,name,password。
6、新建一个实体User
package com.luoshengsha.bean; public class User { /**id**/ private String id; /**用户名**/ private String name; /**密码**/ private String password; //set和get方法--注意:不能少 }
7、创建一个userMapper
package com.luoshengsha.mapper; import com.luoshengsha.bean.User; public interface UserMapper { /**保存**/ public void save(User user); /**修改**/ public void update(User user); /**查找**/ public User find(String id); /**删除**/ public void delete(String id); }
8、创建一个userMapper.xml(名字和userMapper类对应,且放到同一目录下)
<?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.luoshengsha.mapper.UserMapper"><!--注意:此处的命名空间是UserMapper的全限定类名--> <!-- 保存 --> <insert id="save" parameterType="user"> insert into user(id,name,password) values(#{id},#{name},#{password}) </insert> <!-- 更新 --> <update id="update" parameterType="user"> update user set name=#{name},password=#{password} where id=#{id} </update> <!-- 查找 --> <select id="find" parameterType="string" resultType="user"> select * from user where id=#{id} </select> <!-- 删除 --> <delete id="delete" parameterType="string"> delete from user where id=#{id} </delete> </mapper>
9、在classpath下创建mybatis-confi.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> <settings> <!-- 全局启用或禁用延迟加载。当禁用时,所有关联对象都会即时加载。默认:true --> <setting name="lazyLoadingEnabled" value="true"/> <!-- 当启用时,有延迟加载属性的对象在被调用时将会完全加载任意属性。否则,每种属性将会按需要加载 --> <setting name="aggressiveLazyLoading" value="false"/> </settings> <typeAliases> <typeAlias type="com.luoshengsha.bean.User" alias="user"/><!--设置别名--> </typeAliases> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="org.gjt.mm.mysql.Driver"/> <property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis?useUnicode=true&characterEncoding=UTF-8"/><!--url中的&要用&代替,否则会出错--> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/luoshengsha/mapper/UserMapper.xml"/><!--mapper对应的xml配置文件--> </mappers> </configuration>
10、在classpath下创建log4j.properties,用于日志输出
log4j.rootLogger=debug, Console #Console log4j.appender.Console=org.apache.log4j.ConsoleAppender log4j.appender.Console.layout=org.apache.log4j.PatternLayout log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n log4j.logger.java.sql.ResultSet=DEBUG log4j.logger.org.apache=DEBUG log4j.logger.java.sql.Connection=DEBUG log4j.logger.java.sql.Statement=DEBUG log4j.logger.java.sql.PreparedStatement=DEBUG
11、创建MybatisUtil类,用于获取SqlSessionFactory
package com.luoshengsha.utils; import java.io.Reader; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; public class MybatisUtil { private static SqlSessionFactory sqlMapper; private static Reader reader; static { try { reader = Resources.getResourceAsReader("mybatis-config.xml"); sqlMapper = new SqlSessionFactoryBuilder().build(reader); } catch (Exception e) { e.printStackTrace(); } } public static SqlSessionFactory getInstance() { return sqlMapper; } }
12、单元测试类
package com.luoshengsha.test; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.junit.Test; import com.luoshengsha.bean.User; import com.luoshengsha.mapper.UserMapper; import com.luoshengsha.utils.MybatisUtil; public class MybatisTest { private SqlSessionFactory sessionFactory= MybatisUtil.getInstance(); @Test public void save() { SqlSession session = sessionFactory.openSession(); try { UserMapper userMapper = session.getMapper(UserMapper.class); User user = new User(); user.setId("1"); user.setName("张三"); user.setPassword("123456"); userMapper.save(user); session.commit();//提交事务 } catch (Exception e) { e.printStackTrace(); } finally { session.close(); } } @Test public void update() { SqlSession session = sessionFactory.openSession(); try { UserMapper userMapper = session.getMapper(UserMapper.class); User user = userMapper.find("1"); user.setName("李四"); userMapper.update(user); session.commit();//提交事务 } catch (Exception e) { e.printStackTrace(); } finally { session.close(); } } @Test public void find() { SqlSession session = sessionFactory.openSession(); try { UserMapper userMapper = session.getMapper(UserMapper.class); User user = userMapper.find("1"); System.out.println("id : " + user.getId() + ", name : " + user.getName() + ", password : " + user.getPassword()); } catch (Exception e) { e.printStackTrace(); } finally { session.close(); } } @Test public void delete() { SqlSession session = sessionFactory.openSession(); try { UserMapper userMapper = session.getMapper(UserMapper.class); userMapper.delete("1"); session.commit();//提交事务 } catch (Exception e) { e.printStackTrace(); } finally { session.close(); } } }
13、整个项目的目录结构如下:
14、源码下载地址:http://pan.baidu.com/s/1gOL9a(源码中包含用servlet调用mybatis)
(1)、http://localhost:8080/mybatisTest/UserServlet?action=save //添加用户
(2)、http://localhost:8080/mybatisTest/UserServlet?action=update&id=1 //更新用户
(3)、http://localhost:8080/mybatisTest/UserServlet?action=find&id=1 //查找用户
(4)、http://localhost:8080/mybatisTest/UserServlet?action=delete&id=1 //删除用户
本文出自
luoshengsha.com,转载时请注明出处及相应链接。
本文永久链接: http://www.luoshengsha.com/266.html
相关文章推荐
- Mybatis3.2.3+mysql第一个例子(入门)
- Mybatis3.2.6+mysql第一个例子
- 【MyBatis】第一个入门例子
- hibernate入门的第一个例子
- mybatis 详细入门例子
- hibernate入门之环境准备,以及第一个例子。
- (第一个jdbc入门项目)java实现的登录系统(mysql实现的)
- 第一个入门例子
- Mybatis入门概述及第一个Mybatis实例实现增删改查
- Mybatis笔记之一 --入门例子
- 《JSF教程》-03 环境搭建与第一个入门例子
- Spring.Net学习笔记一——入门、第一个例子
- Asp.net 和 Comet 开发入门, 第一个例子
- Struts2入门--第一个例子
- mybatis入门之一个简单的mybatis例子(根据id查数据)
- mybatis第一个入门demo
- spring boot+mybatis+mysql 简单入门
- 【Spring+MyBatis+MySQL实战入门】一、MyBatis操作入门
- Hibernate入门篇(三)——编写第一个Hibernate例子
- springmvc 第一个入门例子