JDBC 封装框架 SimpleJDBC
jopen
13年前
<div id="p_fullcontent" class="detail"> <p>SimpleJDBC是一个用于简化JDBC代码的简单框架,需Spring集成。SimpleJDBC让你用简单的SQL语句完成增删改查,同时支持强类型和Java泛型,仅需注入一个Db实例。例如:</p> <pre class="brush:java; toolbar: true; auto-links: false;">// query: List users = db.query("select * from User"); User user = db.getById(User.class, 12345); int count = db.queryForInt("select count(id) from User where age>?", 20); // insert User user = new User(12345, "Michael"); db.insert(user); // update user.setName("Bob"); user.setAge(29); db.updateProperties(user, "name", "age"); // delete User user = new User(12345); db.delete(user); </pre> <p></p> <h3>设计思想</h3> <ol> <li>契约优于配置,表名和类名一致,字段名和属性名一致;</li> <li>不需编写DAO,为一两行SQL编写一个DAO方法不值;</li> <li>简单的SQL语句,而不是经过ORM改造的HQL;</li> <li>没有Attach/Detach状态,均为原始Bean无CGLIB代理;</li> <li>没有一级/二级Cache,Cache应当用memcached,用不上memcached则说明压力小到根本无需Cache;</li> <li>外键也映射到简单字段,而非对象,不支持一对多或多对一的级联查询,永远不用担心查出额外对象;</li> <li>泛型和强类型支持,有SQL语句,但无JDBC代码;</li> <li>不支持join等复杂查询,必须增加表的冗余以便使用简单查询。</li> </ol> <div> <h3>哪些项目无法使用SimpleJdbc</h3> <ol> <li>没有用MySQL做为数据库;</li> <li>没有用Spring;</li> <li>使用了EAR而不是WAR;</li> <li>必须使用Join等复杂查询;</li> <li>在遗留数据库上开发。</li> </ol> <p>以上说明该项目不Simple,因此无法使用SimpleJdbc。<br /> <br /> </p> <p><strong>项目主页:</strong><a href="http://www.open-open.com/lib/view/home/1328240030718" target="_blank">http://www.open-open.com/lib/view/home/1328240030718</a></p> </div> </div>