Popoludnie s Javou - JDBC

Created: 2008-06-19 - 17:02

JDBC

Jednoduchy priklad na pracu s databazami pomocou jdbc. Cez konzolu zadavate mena a priezviska ludi az kym nezadate -1 (ako meno). Potom sa zoznam vypise zoradeny podla priezviska.

Potrebne kniznice:
Spring.jar
commons-logging-1.1.1.jar
mysql-connector-java-5.1.6-bin.jar

Taktiez budete potrebovat rozbehanu MySQL databazu. Bud si nainstalujete Apache s phpMyAdminom alebo si zaregistrujete nejaku freehostingovu sluzbu poskytujucu mysql databazu (na webzdarma mi to nefunguje, zatial...).


package sk.upjs.js;
import org.springframework.jdbc.core.simple.SimpleJdbcTemplate;
import java.util.*;
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
public class WzTest {
	public static void main(String[] args) {
		try {
			Class.forName("com.mysql.jdbc.Driver");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
		
		MysqlDataSource datasource = new MysqlDataSource();
		
		try{
		datasource.setServerName("localhost");
		datasource.setDatabaseName("js");
		datasource.setUser("------");
		datasource.setPassword("------");
		//datasource.setPort(80);
		}
		catch(Exception e){
			System.out.println("Chyba v spojeni");
			e.printStackTrace();
		}
		
		SimpleJdbcTemplate jdbcTemplate = new SimpleJdbcTemplate(datasource);
		
		Scanner s = new Scanner(System.in);
		String meno;
		String priezvisko;
		int id = 0;
		
		jdbcTemplate.update("DELETE FROM tabulka");
		
		while(0==0){
			id++;
			System.out.println("ID:" +id);
			System.out.print("Meno: ");
			meno = s.next();
			if (meno.equals("-1")) break;
			System.out.print("Priezvisko: ");
			priezvisko = s.next();
			
			int pocet = jdbcTemplate.update("INSERT INTO tabulka VALUES (?, ?, ?",id,meno,priezvisko);
			System.out.println("Pocet zmien: "+pocet);
		}
		
		List<Map<String,Object>> zoznam = jdbcTemplate.queryForList("SELECT * FROM tabulka ORDER BY priezvisko");
		for (Map<String, Object> map : zoznam) {
			System.out.println(map.toString());
		}
	}
}

Priklad testovacieho vstupu:

ID:1 Meno: Janko Priezvisko: Hrako Pocet zmien: 1 ID:2 Meno: Ferko Priezvisko: Taraba Pocet zmien: 1 ID:3 Meno: Jurko Priezvisko: Podsem Pocet zmien: 1 ID:4 Meno: Al Priezvisko: Koholik Pocet zmien: 1 ID:5 Meno: Jano Priezvisko: Nebudemrobit Pocet zmien: 1 ID:6 Meno: Luky Priezvisko: Comavelkeruky Pocet zmien: 1 ID:7 Meno: -1 {id=6, meno=Luky, priezvisko=Comavelkeruky} {id=1, meno=Janko, priezvisko=Hrako} {id=4, meno=Al, priezvisko=Koholik} {id=5, meno=Jano, priezvisko=Nebudemrobit} {id=3, meno=Jurko, priezvisko=Podsem} {id=2, meno=Ferko, priezvisko=Taraba}