jenkins+gogs+harbor+docker自动化环境部署与安装 2019-07-12 docker, gogs, harbor, java, jenkins 一,docker环境安装docker 环境的安装在官网上由相关的安装文档,将其写成ansible的脚本的形式 二,gogs安装三,harbor安装四,jenkins安装五,打包部署应用
MyBatis源码分析 2019-06-19 Java, MyBatis MyBatis源码分析MyBatis运行过程 传统的JDBC编程查询数据库代码和过程总结 加载驱动 创建连接,Connection对象 根据Connection创建Statement或者PreparedStatement来执行 sql 语句 返回结果集到 ResultSet 中 手动将ResultSet映射到JavaBean中12345678910111213141516171819202122232425262728293031323334353637 public static void main(String[] args) { //声明Connection对象 Connection con = null; //遍历查询结果集 try { //加载驱动程序 Class.forName("com.mysql.jdbc.Driver"); //创建 connection 对象 con = DriverManager.getConnection("jdbc:mysql://localhost:3306/db", "username", "password"); //使用 connection 对象创建statement 或者 PreparedStatement 类对象,用来执行SQL语句 Statement statement = con.createStatement(); //要执行的SQL语句 String sql = "select * from emp"; //3.ResultSet类,用来存放获取的结果集!! ResultSet rs = statement.executeQuery(sql); String job = ""; String id = ""; while (rs.next()) { //获取stuname这列数据 job = rs.getString("job"); //获取stuid这列数据 id = rs.getString("ename"); //输出结果 System.out.println(id + " " + job); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { //数据库连接失败异常处理 e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } finally { rs.close(); con.close(); }} MyBatis具体流程 使用配置文件构建SqlSessionFactory 使用SqlSessionFactory获得SqlSession,SqlSession相当于传统JDBC的Connection 使用SqlSession得到Mapper 用Mapper来执行sql语句,并返回结果直接封装到JavaBean中1234567891011 //获取 sqlSession,sqlSession 相当于传统 JDBC 的 Conectionpublic static SqlSession getSqlSession(){ InputStream configFile = new FileInputStream(filePath); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder.build(configFile); return sqlSessionFactory.openSession();}//使用 sqlSession 获得对应的 mapper,mapper 用来执行 sql 语句。public static User get(SqlSession sqlSession, int id){ UserMapper userMapper = sqlSession.getMapper(UserMapper.class); return userMapper.selectByPrimaryKey(id);} 总结 初始化阶段 –> 读写XML配置文件和注解中的配置信息,创建配置信息,并完成各个模块的初始化工作 代理阶段 –> 封装batis编程模型,使用mapper接口开发的初始化工作 数据读写阶段 –> 通过sqlSession完成sql的解析,参数的映射,SQL的执行和结果反射的过程 源码分析