重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1.把所需jar(MySQL-connector-java-5.1.18-bin.jar和mybatis-3.3.0.jar)拷贝到lib目录下
武邑网站建设公司创新互联,武邑网站设计制作,有大型网站制作公司丰富经验。已为武邑成百上千家提供企业网站建设服务。企业网站搭建\成都外贸网站建设公司要多少钱,请找那个售后服务好的武邑做网站的公司定做!
2.编写与数据库对应的实体类UserInfo
3.创建mybatis-config.xml配置文件:
4.创建DBFactory类获取SqlSessionFactory
/** * 访问数据库类 */ public class DBFactory { public static SqlSessionFactory sqlSessionFactory = null; static { try { String resource = "com/wc/config/mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream,"mysql");//第二个参数:指定需要连接的数据库配置 } catch (IOException e) { e.printStackTrace(); } } public static SqlSessionFactory getFactory(){ return sqlSessionFactory; }
或者
/** * 访问数据库类 */ public class DBAccess { public SqlSession getSqlSession() throws IOException{ //(1)通过配置文件获取数据库连接相关信息
Reader reader = Resources.getResourceAsReader("com/wc/config/Configuration.xml"); //(2)通过配置信息构建SqlSessionFactory SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader,"mysql"); //(3)通过SqlSessionFactory打开数据库回话 SqlSession sqlSession = sqlSessionFactory.openSession(); return sqlSession; } }
5.创建mybatis的sql映射文件userinfo.xml
resultMap: property对应实体类属性,column 对应着数据库字段
sql语句:
id="selectUserByInterface" 唯一标识
parameterType="java.lang.Integer" 参数的类型
resultMap="userResult" 返回类型
select
6.通过接口的方式调用XML的查询语句(面向接口式编程)
public interface IUserInfo { /** * 根据user_id查询单个信息 */ public UserInfo selectOneUserByInterface(int i); /** * 查询全部信息 */ public ListselectUserByInterface(); }
7.从SqlSessionFactory里面获取SqlSession:DBFactory.getFactory().openSession();
在从SqlSession拿到增删修查一系列方法
/** * 使用接口的方式进行全部查询 */ @Test public void selectUserByInterface() { ListuserInfo = new ArrayList (); // 获取sqlSession SqlSession session = null; try { // 从SqlSessionFactory里获取SqlSession session = DBFactory.getFactory().openSession(); //接口 IUserInfo iUserInfo = session.getMapper(IUserInfo.class); userInfo = iUserInfo.selectUserByInterface(); if (userInfo != null && userInfo.size() > 0) { for (UserInfo user : userInfo) { System.out.println(user); } } } catch (Exception e) { } finally { if (session != null) { session.close(); } } } /** * 使用接口的方式进行单条查询 */ @Test public void selectOneUserByInterface() { // 获取sqlSession SqlSession session = null; try { // 从SqlSessionFactory里获取SqlSession session = DBFactory.getFactory().openSession(); //UserInfo userInfo = session.selectOne("userinfo.selectOneUser",3);userinfo是以前的命名空间 IUserInfo iUserInfo = session.getMapper(IUserInfo.class); UserInfo userInfo = iUserInfo.selectOneUserByInterface(3); System.out.println(userInfo); } catch (Exception e) { } finally { if (session != null) { session.close(); } } }
最后关闭SqlSession