Example usage for org.apache.ibatis.session SqlSession getMapper

List of usage examples for org.apache.ibatis.session SqlSession getMapper

Introduction

In this page you can find the example usage for org.apache.ibatis.session SqlSession getMapper.

Prototype

<T> T getMapper(Class<T> type);

Source Link

Document

Retrieves a mapper.

Usage

From source file:com.healthcaresolutions.hisif.datamanager.StaffManager.java

public Staff getStaffInfo(String code) {
    Staff staff = null;/*from   w  w w .  ja  v  a  2 s .  co  m*/
    try {
        SqlSession session = SessionFactoryHelper.getSqlSessionFactory().openSession();
        StaffMapper staffMapper = session.getMapper(StaffMapper.class);
        StaffExample example = new StaffExample();
        example.createCriteria().andStaffCodeEqualTo(code);
        List<Staff> staffs = staffMapper.selectByExample(example);
        if (staffs.size() > 0) {
            staff = staffs.get(0);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return staff;
}

From source file:com.healthcaresolutions.hisif.datamanager.StaffManager.java

public Staff setStaffInfo(String code, String name, String lastName, String license) {
    Staff result = null;/*  w ww .  j  av a 2s.  com*/
    try {
        SqlSession session = SessionFactoryHelper.getSqlSessionFactory().openSession();
        StaffMapper staffMapper = session.getMapper(StaffMapper.class);
        StaffExample example = new StaffExample();
        example.createCriteria().andStaffCodeEqualTo(code);

        List<Staff> staffs = staffMapper.selectByExample(example);
        if (staffs.size() > 0) {
            result = staffs.get(0);
            result.setStaffFname(name);
            result.setStaffLname(lastName);
            result.setStaffLicense(license);
            staffMapper.updateByPrimaryKeySelective(result);
            session.commit();
        } else {
            result = new Staff();
            result.setRoleId(0);
            result.setStaffCode(code);
            result.setStaffFname(name);
            result.setStaffLname(lastName);
            result.setStaffLicense(license);
            result.setStaffMail("");
            result.setStaffMobile("");
            result.setStaffPwd("");
            result.setStaffUsr(code);
            result.setStaffTel("");
            result.setStaffTitle("");
            result.setTrId(0);
            staffMapper.insertSelective(result);
            session.commit();
        }
        session.close();
    } catch (IOException ioe) {
        ioe.printStackTrace();
    }
    return result;
}

From source file:com.holacampus.api.security.BasicAuthenticator.java

License:Open Source License

@Override
public final UserPrincipal authenticate(MultivaluedMap<String, String> headers)
        throws AuthenticationFailException, AuthenticationBadSintaxException {
    String authHeader = null;//w  w  w .  jav a  2  s  .  c om
    UserPrincipal up;
    /*
     * If authentication header is not present, return 401 error
    */
    if ((authHeader = headers.getFirst(AUTHENTICATION_HEADER)) == null) {
        throw new AuthenticationFailException();
    }

    /*
     * Get user credentials from Authentication header
    */
    ProvidedCredentials providedCredentials = getUserCredentials(authHeader);

    /*
     * Retrieve credentials from database
    */
    logger.info("[AUTH] Credentials: " + providedCredentials.email + ":" + providedCredentials.password);

    SqlSession session = MyBatisConnectionFactory.getSession().openSession();

    try {
        CredentialsMapper credMapper = session.getMapper(CredentialsMapper.class);

        /*
        * Get Credentials from database and compare
        */
        Credentials credentials = credMapper.getCredentialsForEmail(providedCredentials.email);

        if (credentials != null && PasswordHash.validatePassword(providedCredentials.password, credentials)) {
            up = new UserPrincipal(providedCredentials.email, credentials.getElement().getId(), null);
        } else {
            throw new AuthenticationFailException();
        }

    } catch (AuthenticationFailException e) {
        throw e;
    } catch (Exception ex) {
        logger.error(ex);
        throw new InternalServerErrorException();
    } finally {
        session.close();
    }

    return up;
}

From source file:com.holacampus.api.security.TokenAuthenticator.java

License:Open Source License

/**
 * {@inheritDoc}/*from  w  ww . j  av  a  2 s .c  om*/
 */
@Override
public UserPrincipal authenticate(MultivaluedMap<String, String> headers)
        throws AuthenticationFailException, AuthenticationBadSintaxException {
    UserPrincipal up;
    String token = null;

    /*
    * If authentication header is not present, return 401 error
    */
    if ((token = headers.getFirst(AUTHENTICATION_HEADER)) == null) {
        throw new AuthenticationFailException();
    }

    AuthToken auth;
    /*
     * Check token with the one stored on the database
     */
    SqlSession session = MyBatisConnectionFactory.getSession().openSession();

    try {
        AuthTokenMapper authMapper = session.getMapper(AuthTokenMapper.class);

        /*
        * Get Token from database and compare
        */
        auth = authMapper.getAuthTokenAndCredentials(token);

        if (auth != null) {
            up = new UserPrincipal(auth.getElement().getEmail(), auth.getElement().getId(),
                    auth.getElement().getType());
        } else {
            throw new AuthenticationFailException();
        }

    } catch (AuthenticationFailException e) {
        throw e;
    } catch (Exception ex) {
        logger.error(ex);
        throw new InternalServerErrorException();
    } finally {
        session.close();
    }

    return up;
}

From source file:com.itfsw.mybatis.generator.plugins.BatchInsertPluginTest.java

License:Apache License

/**
 * ?sql/*from  www  .j av  a2 s  . c om*/
 */
@Test
public void testBatchInsert() throws Exception {
    MyBatisGeneratorTool tool = MyBatisGeneratorTool.create("scripts/BatchInsertPlugin/mybatis-generator.xml");
    tool.generate(new AbstractShellCallback() {
        @Override
        public void reloadProject(SqlSession sqlSession, ClassLoader loader, String packagz) throws Exception {
            // 1. sql
            ObjectUtil tbMapper = new ObjectUtil(sqlSession.getMapper(loader.loadClass(packagz + ".TbMapper")));
            List<Object> params = new ArrayList<>();
            params.add(new ObjectUtil(loader, packagz + ".Tb").set("field1", "test").getObject());
            params.add(
                    new ObjectUtil(loader, packagz + ".Tb").set("field1", "test").set("field2", 1).getObject());
            String sql = SqlHelper.getFormatMapperSql(tbMapper.getObject(), "batchInsert", params);
            Assert.assertEquals(sql, "insert into tb (field1, field2) values ('test', null) , ('test', 1)");
            // 2. sql
            Object count = tbMapper.invoke("batchInsert", params);
            Assert.assertEquals(count, 2);
        }
    });
}

From source file:com.itfsw.mybatis.generator.plugins.BatchInsertPluginTest.java

License:Apache License

/**
 * ?sql//from w ww .  j av  a2  s  .co  m
 */
@Test
public void testBatchInsertSelective() throws Exception {
    MyBatisGeneratorTool tool = MyBatisGeneratorTool.create("scripts/BatchInsertPlugin/mybatis-generator.xml");
    tool.generate(new AbstractShellCallback() {
        @Override
        public void reloadProject(SqlSession sqlSession, ClassLoader loader, String packagz) throws Exception {
            // 1. sql
            ObjectUtil tbBlobsMapper = new ObjectUtil(
                    sqlSession.getMapper(loader.loadClass(packagz + ".TbBlobsMapper")));
            List<Object> params = new ArrayList<>();
            params.add(new ObjectUtil(loader, packagz + ".TbBlobsWithBLOBs").set("field1", "test").getObject());
            params.add(new ObjectUtil(loader, packagz + ".TbBlobsWithBLOBs").set("field1", "test")
                    .set("field2", "test123").getObject());
            ObjectUtil columnField2 = new ObjectUtil(loader, packagz + ".TbBlobsWithBLOBs$Column#field2");
            // java ???????Array!!!???invoke????
            Object columns = Array.newInstance(columnField2.getCls(), 1);
            Array.set(columns, 0, columnField2.getObject());

            String sql = SqlHelper.getFormatMapperSql(tbBlobsMapper.getObject(), "batchInsertSelective", params,
                    columns);
            Assert.assertEquals(sql, "insert into tb_blobs ( field2 ) values ( 'null' ) , ( 'test123' )");
            // 2. sql
            Object count = tbBlobsMapper.invoke("batchInsertSelective", params, columns);
            Assert.assertEquals(count, 2);
        }
    });
}

From source file:com.itfsw.mybatis.generator.plugins.BugFixedTest.java

License:Apache License

/**
 *  ModelColumnPlugin ???columntablealias??
 *//*from  w w w  .  j  a  va  2 s .c  o  m*/
@Test
public void bug0001() throws Exception {
    MyBatisGeneratorTool tool = MyBatisGeneratorTool.create("scripts/BugFixedTest/bug-0001.xml");
    tool.generate(() -> DBHelper.createDB("scripts/BugFixedTest/bug-0001.sql"), new AbstractShellCallback() {
        @Override
        public void reloadProject(SqlSession sqlSession, ClassLoader loader, String packagz) throws Exception {
            ObjectUtil tbMapper = new ObjectUtil(sqlSession.getMapper(loader.loadClass(packagz + ".TbMapper")));

            ObjectUtil tb = new ObjectUtil(loader, packagz + ".Tb");
            tb.set("id", 121L);
            tb.set("inc", "inc_001");
            tb.set("table", "tb");
            // selective
            ObjectUtil TbColumnId = new ObjectUtil(loader, packagz + ".Tb$Column#id");
            ObjectUtil TbColumnInc = new ObjectUtil(loader, packagz + ".Tb$Column#inc");
            ObjectUtil TbColumnTable = new ObjectUtil(loader, packagz + ".Tb$Column#table");
            Object columns = Array.newInstance(TbColumnInc.getCls(), 3);
            Array.set(columns, 0, TbColumnId.getObject());
            Array.set(columns, 1, TbColumnInc.getObject());
            Array.set(columns, 2, TbColumnTable.getObject());

            // sql
            String sql = SqlHelper.getFormatMapperSql(tbMapper.getObject(), "insertSelective", tb.getObject(),
                    columns);
            Assert.assertEquals(sql,
                    "insert into tb ( id , field1 , `table` ) values ( 121 , 'inc_001' , 'tb' )");
            Object result = tbMapper.invoke("insertSelective", tb.getObject(), columns);
            Assert.assertEquals(result, 1);

            // 
            ObjectUtil tbExample = new ObjectUtil(loader, packagz + ".TbExample");
            ObjectUtil criteria = new ObjectUtil(tbExample.invoke("createCriteria"));
            criteria.invoke("andIdLessThan", 160l);
            tbExample.set("orderByClause", TbColumnTable.invoke("asc"));

            sql = SqlHelper.getFormatMapperSql(tbMapper.getObject(), "selectByExampleSelective",
                    tbExample.getObject(), columns);
            Assert.assertEquals(sql,
                    "select Test.id as Test_id , Test.field1 as Test_field1 , Test.`table` as `Test_table` from tb Test WHERE ( Test.id < '160' ) order by `table` ASC");
            ObjectUtil result1 = new ObjectUtil(
                    ((List) tbMapper.invoke("selectByExampleSelective", tbExample.getObject(), columns))
                            .get(0));
            Assert.assertEquals(result1.get("table"), "tb");
        }
    });
}

From source file:com.itfsw.mybatis.generator.plugins.BugFixedTest.java

License:Apache License

/**
 * insertSelective ?SelectiveEnhancedPlugin???map,ID?
 * @throws Exception/*from  w w  w .  j ava  2 s  . co  m*/
 */
@Test
public void bug0002() throws Exception {
    MyBatisGeneratorTool tool = MyBatisGeneratorTool.create("scripts/BugFixedTest/bug-0002.xml");
    tool.generate(() -> DBHelper.createDB("scripts/BugFixedTest/bug-0002.sql"), new AbstractShellCallback() {
        @Override
        public void reloadProject(SqlSession sqlSession, ClassLoader loader, String packagz) throws Exception {
            ObjectUtil tbMapper = new ObjectUtil(sqlSession.getMapper(loader.loadClass(packagz + ".TbMapper")));

            ObjectUtil tb = new ObjectUtil(loader, packagz + ".Tb");
            tb.set("field1", "ts1");

            // selective
            ObjectUtil TbColumnField1 = new ObjectUtil(loader, packagz + ".Tb$Column#field1");
            Object columns = Array.newInstance(TbColumnField1.getCls(), 1);
            Array.set(columns, 0, TbColumnField1.getObject());

            // sql
            String sql = SqlHelper.getFormatMapperSql(tbMapper.getObject(), "insertSelective", tb.getObject(),
                    columns);
            Assert.assertEquals(sql, "insert into tb ( field1 ) values ( 'ts1' )");
            Object result = tbMapper.invoke("insertSelective", tb.getObject(), columns);
            Assert.assertEquals(result, 1);
            // ID
            Assert.assertEquals(tb.get("id"), 1L);
        }
    });
}

From source file:com.itfsw.mybatis.generator.plugins.BugFixedTest.java

License:Apache License

/**
 * ?SelectiveEnhancedPlugintypeHandler/*  ww  w  .  j  av a 2s. c  om*/
 * @throws Exception
 */
@Test
public void bug0003() throws Exception {
    MyBatisGeneratorTool tool = MyBatisGeneratorTool.create("scripts/BugFixedTest/bug-0003.xml");
    tool.generate(() -> DBHelper.createDB("scripts/BugFixedTest/bug-0003.sql"), new AbstractShellCallback() {
        @Override
        public void reloadProject(SqlSession sqlSession, ClassLoader loader, String packagz) throws Exception {
            ObjectUtil tbMapper = new ObjectUtil(sqlSession.getMapper(loader.loadClass(packagz + ".TbMapper")));

            ObjectUtil tb = new ObjectUtil(loader, packagz + ".Tb");

            tb.set("id", 1L);
            tb.set("field1", new SimpleDateFormat("yyyy-MM-dd").parse("2019-07-08"));

            tbMapper.invoke("updateByPrimaryKey", tb.getObject());
            ResultSet rs = DBHelper.execute(sqlSession.getConnection(), "select field1 from tb where id = 1");
            rs.first();
            Assert.assertEquals(rs.getString("field1"), "2019:07:08");

            tb.set("field1", new SimpleDateFormat("yyyy-MM-dd").parse("2019-07-09"));
            ObjectUtil tbColumnField1 = new ObjectUtil(loader, packagz + ".Tb$Column#field1");
            Object columns = Array.newInstance(tbColumnField1.getCls(), 1);
            Array.set(columns, 0, tbColumnField1.getObject());

            tbMapper.invoke("updateByPrimaryKeySelective", tb.getObject(), columns);
            rs = DBHelper.execute(sqlSession.getConnection(), "select field1 from tb where id = 1");
            rs.first();
            Assert.assertEquals(rs.getString("field1"), "2019:07:09");
        }
    });
}

From source file:com.itfsw.mybatis.generator.plugins.BugFixedTest.java

License:Apache License

/**
 * ???????????/* w  ww  .  ja  va  2 s  .  c  om*/
 */
@Test
public void issues39() throws Exception {
    MyBatisGeneratorTool tool = MyBatisGeneratorTool.create("scripts/BugFixedTest/issues-39.xml");
    tool.generate(() -> DBHelper.createDB("scripts/BugFixedTest/issues-39.sql"), new AbstractShellCallback() {
        @Override
        public void reloadProject(SqlSession sqlSession, ClassLoader loader, String packagz) throws Exception {
            ObjectUtil tbMapper = new ObjectUtil(sqlSession.getMapper(loader.loadClass(packagz + ".TbMapper")));
            // ?
            Assert.assertEquals(
                    tbMapper.getMethods(OptimisticLockerPlugin.METHOD_DELETE_WITH_VERSION_BY_EXAMPLE).size(),
                    1);

            ObjectUtil tb1Mapper = new ObjectUtil(
                    sqlSession.getMapper(loader.loadClass(packagz + ".Tb1Mapper")));
            // ?
            Assert.assertEquals(
                    tb1Mapper.getMethods(OptimisticLockerPlugin.METHOD_DELETE_WITH_VERSION_BY_EXAMPLE).size(),
                    0);
        }
    });
}