Nutz学习---连接操作数据库入门例子

来源:互联网 发布:含节假日的日历js插件 编辑:程序博客网 时间:2024/06/06 00:39

通过C3P0Util工具类得到数据库连接,然后创建一个Person实体,最后在PersonTest中利用nutz测试数据添加功能

**项目结构图**

项目结构图概览

**开始项目**

导入相关jar包

c3p0-0.9.1.2.jar 
MySQL-connector-Java-5.0.8-bin.jar 
nutz-1.b.50.jar

创建数据库连接工具类

C3P0Util.java 
c3p0-config.xml

**c3p0-config.xml代码如下:**<?xml version="1.0" encoding="UTF-8"?><c3p0-config>    <default-config>        <property name="driverClass">com.mysql.jdbc.Driver</property>        <property name="jdbcUrl">jdbc:mysql://localhost:3306/nutz</property>        <property name="user">root</property>        <property name="password">root</property>        <property name="acquireIncrement">5</property>        <property name="initialPoolSize">10</property>        <property name="minPoolSize">5</property>        <property name="maxPoolSize">20</property>    </default-config></c3p0-config>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
**C3P0Util.java代码如下:**package utils;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.sql.DataSource;import com.mchange.v2.c3p0.ComboPooledDataSource;public class C3P0Util {    private static DataSource ds = new ComboPooledDataSource();    public static DataSource getDataSource() {        return ds;    }    /**     * 用于从池中获取连接     *      * @return     */    public static synchronized Connection getConneciton() {        try {            return ds.getConnection();        } catch (SQLException e) {            e.printStackTrace();            throw new RuntimeException(e);        }    }    // 关闭资源    public static void release(ResultSet rs, Statement st, Connection con) {        try {            if (rs != null) {                rs.close();                rs = null;// 目的是让回收器立即进行垃圾回收            }        } catch (SQLException e) {            e.printStackTrace();        }        try {            if (st != null) {                st.close();                st = null;            }        } catch (SQLException e) {            e.printStackTrace();        }        try {            if (con != null) {                con.close();            }        } catch (SQLException e) {            e.printStackTrace();        }    }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66

创建实体类

Person.java

**Person.java代码如下:**package com.zzh.demo.Person;import org.nutz.dao.entity.annotation.Column;import org.nutz.dao.entity.annotation.Id;import org.nutz.dao.entity.annotation.Name;import org.nutz.dao.entity.annotation.Table;@Table("t_person")// 生命了Person对象的数据表public class Person {// 无需继承任何Nuts的类    @Id    // 表示该字段为一个自增长的Id,是数据库表中自增!!    private int id;    @Name    // 表示该字段可以用来标识此对象,或者是字符型主键,或者是唯一性的约束    private String name;    @Column    // 表示该对象属性可以映射到数据库里作为一个字段    private int age;    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48

测试类

PersonTest.java

package test;**PersonTest.java的代码如下:**import org.nutz.dao.Dao;import org.nutz.dao.impl.NutDao;import utils.C3P0Util;import com.zzh.demo.Person.Person;public class PersonTest {    public static void main(String[] args) {        Dao dao = new NutDao(C3P0Util.getDataSource());        Person p = new Person();        p.setName("张三");        p.setAge(22);        dao.insert(p);    }}**其实Nutz也实现不少数据库链接的方法**感兴趣的,猛踩这里[Nutz](http://www.nutzam.com/ "Nutz官网")
原创粉丝点击